【题目描述】

有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。

【输入】

第一行一个正整数n≤1000000,表示小朋友的个数.

接下来n行,每行一个整数ai,表示第i个小朋友得到的糖果的颗数.

【输出】

求使所有人获得均等糖果的最小代价。

【输入样例】

4
1
2
5
4

【输出样例】

4

【源程序】

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<map>
#include<bitset>
#define EPS 1e-9
#define PI acos(-1.0)
#define INF 0x3f3f3f3f
#define LL long long
const int MOD = 1E9+7;
const int N = 1000000+5;
const int dx[] = {-1,1,0,0,-1,-1,1,1};
const int dy[] = {0,0,-1,1,-1,1,-1,1};
using namespace std;
LL a[N];
LL next[N];//给下个人的纸牌数
int main(){int n;scanf("%d",&n);LL sum=0;for(int i=1;i<=n;i++){scanf("%lld",&a[i]);sum+=a[i];}LL ava=sum/n;//平均数for(int i=2;i<=n;i++)//next[i]=a[i]+next[i-1]-sum/nnext[i]=next[i-1]+a[i]-ava;/*next[i]-next[i-1]=a[i]-sum/n所以next[i]-next[i-1]+next[i-1]-next[i-2]+...-next[1]=sigma(i)(a[i]-sum/n)即next[i]=sigma(i)(a[i]-sum/n)+next[1]显然sigma(i)(a[i]-sum/n)是定值所以next[1]取sigma(i)(a[i]-sum/n)的中位数即可*/sort(next+1,next+1+n);LL res=0;for(int i=1;i<=n;i++)res+=abs(next[i]-next[(n+1)/2]);printf("%lld\n",res);return 0;
}

糖果传递(信息学奥赛一本通-T1432)相关推荐

  1. 分糖果(信息学奥赛一本通-T1380)

    [题目描述] 童年的我们,将和朋友分享美好的事物作为自己的快乐.这天,C小朋友得到了Plenty of candies,将要把这些糖果分给要好的朋友们.已知糖果从一个人传给另一个人需要1 秒的时间,同 ...

  2. 糖果(信息学奥赛一本通-T1299)

    [题目描述] 由于在维护世界和平的事务中做出巨大贡献,Dzx被赠予糖果公司2010年5月23日当天无限量糖果免费优惠券.在这一天,Dzx可以从糖果公司的N件产品中任意选择若干件带回家享用.糖果公司的N ...

  3. 吃糖果(信息学奥赛一本通-T1193)

    [题目描述] 名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,0<N<20).妈妈告诉名名每天可以吃一块或者两块巧克力.假设名名每天都吃巧克力,问名名共 ...

  4. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  5. 信息学奥赛一本通在线提交地址

    信息学奥赛一本通 1 C++语言入门 1.1 综合 1.1.1 P1458 地球人口承载力估计 正确: 770 提交: 1794 比率: 42.92 % 1.1.2 P1686 Hello, Worl ...

  6. 信息学奥赛一本通OJ勘误

    信息学奥赛一本通OJ 是面向信奥初学者的很好用的OJ,感谢网站作者的的耐心制作. 尽管如此,该网站还是有一些错误,在此指明.瑕不掩瑜,希望网站作者早日修正. 1198:逆波兰表达式 题目中概念错误,应 ...

  7. 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划 第一节 动 ...

  8. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  9. 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”

    董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...

最新文章

  1. xshell中mysql命令大全_Linux之Xshell脚本代码实例
  2. matplotlib xticks 基于 旋转_数据可视化之 matplotlib 绘图篇
  3. 基于双TMS320C6678+双XC6VSX315T的6U VPX高速数据处理平台
  4. 平衡小车卡尔曼滤波算法
  5. 设计实现优雅修改redux数据流的一个库 - redux-chef
  6. LoadRunner几个重要的概念:事务、集合点、思考时间
  7. linux nc命令入门
  8. Java 中的 23 种 设 计 模 式
  9. 程序员的离职小技巧之如何写出让接班同事无法维护的超级代码!建议收藏
  10. 华为荣耀9升降级系统 | 华为荣耀9变砖后如何救砖 | 华为荣耀9获取BL解锁码以及如何解BL锁 | 华为荣耀9如何通过写ramdisk.img来获取root
  11. php 简单聊天室 实例,PHP简易聊天室实例
  12. 开源GIS简介.学习
  13. POI复制Excel模板并填充数据
  14. 上传文件到服务器速度慢怎么解决,网络上传速度慢怎么办(解读其上传速度慢原由)...
  15. mysql取消安全模式
  16. 如何使用代理ip软件的代理ip来维护你的隐私安全?
  17. 协众技术教你玩转电商海报设计
  18. http://stormzhang.com/devtools/2014/12/09/android-studio-tutorial3/ 安卓studio 安装教程
  19. 日志采集系统都用到哪些技术?
  20. RTSP安防网络摄像头/海康大华硬盘录像机网页无插件直播流媒体服务器EasyNVR证书配置页面按钮无法正常打开和关闭的问题解析

热门文章

  1. 程序员必须知道的15件事(转)
  2. 转载:PyBus(排忧巴士)的C#源代码(windows mobile手机软件 查询公交的)
  3. 盘点云计算领域不可不读的9本书
  4. 手把手教你用Matplotlib进行数据可视化
  5. CANOpen定时器
  6. linux 制作yum,Linux制作本地yum
  7. Facebook全球宕机6小时!小扎损失60亿,15亿用户数据被出售
  8. 漫话:为什么程序员喜欢使用0 ≤ i 10这种左闭右开的形式写for循环?
  9. JEECG 3.2版本发布,基于代码生成器的智能开发平台
  10. 编程体系结构(04):JavaIO流文件管理