1045: [HAOI2008] 糖果传递

Time Limit: 10 Sec  Memory Limit: 162 MB
Submit: 4094  Solved: 1970
[Submit][Status][Discuss]

Description

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

Input

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

Output

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

Sample Input

4
1
2
5
4

Sample Output

4

3293: [Cqoi2011]分金币(双倍经验)

#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
using namespace std;
#define LL long long
LL a[1000005], f[1000005];
int main(void)
{LL n, i, ave, sum, ans;while(scanf("%lld", &n)!=EOF){ave = 0;for(i=1;i<=n;i++){scanf("%lld", &a[i]);ave += a[i];}ave /= n;ans = sum = 0;for(i=1;i<=n;i++){sum += a[i];f[i] = sum-i*ave;}sort(f+1, f+n+1);for(i=1;i<=n;i++)ans += abs(f[i]-f[n/2+1]);printf("%lld\n", ans);}return 0;
}

bzoj 1045: [HAOI2008]糖果传递相关推荐

  1. BZOJ 1045 [HAOI2008]糖果传递 ★(环形等分:中位数)

    题意 有n个小朋友坐成一圈,每人有ai个糖果.每人只能给左右两人传递糖果.每人每次传递一个糖果代价为1. 思路 假设平均数是x,且a1给an了k个(k<0说明是an给a1了-k个),那么总代价就 ...

  2. bzoj 1045 [HAOI2008] 糖果传递 —— 贪心

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1045 好像是贪心...但这是一个环... 看博客:http://hzwer.com/2656 ...

  3. 【BZOJ】1045: [HAOI2008]糖果传递(中位数)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1045 白书上有讲 没ac的坑点在,数据范围n<=1,000,000 #include < ...

  4. bz10451045: [HAOI2008] 糖果传递

    1045: [HAOI2008] 糖果传递 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 2958  Solved: 1319 [Submit][S ...

  5. BZOJ1045 HAOI2008糖果传递(贪心)

    显然最后每个小朋友所拥有的糖果数就是糖果数总和的平均数.设该平均数为t. 环的问题一般断成链,但这个题似乎没有什么很好的办法在枚举断点的时候快速算出答案(我甚至不知道会不会有断点) 于是我们假装把他断 ...

  6. [HAOI2008]糖果传递 结论题

    题目描述 有\(n(n<1000000)\)个小朋友坐成一圈,每人有\(a_i\)个糖果.每人只能给左右两人传递糖果.每人每次传递一个糖果代价为\(1\),求使所有人糖果数相等的最小代价. 暴力 ...

  7. [BZOJ1045][HAOI2008] 糖果传递(数学相关)

    题目描述 传送门 题目大意:有n个小朋友坐成一圈,每人有ai个糖果.每人只能给左右两人传递糖果.每人每次传递一个糖果代价为1.求使所有人获得均等糖果的最小代价. 题解 设第i个人会给第i+1个人 xi ...

  8. bzoj1045: [HAOI2008] 糖果传递

    挺有趣的.观察题目环形?切掉一个跑贪心?O(n^2)超时了... 先计算m为每个最终糖果数量. 设An传给A1了k个糖果, 那么A1传给A2的糖果数为S1=k+A1-m,T1=A1-m 那么A2传给A ...

  9. luogu P2512 [HAOI2008]糖果传递

    传送门 Time cost: 35min 环形均分纸牌 我们再回顾一下均分纸牌 1 scanf("%d",&n); 2 for(i = 1; i <= n; i++) ...

最新文章

  1. java正则表达式获取指定两个字符串之间内容
  2. python调用c静态库,静态库(.lib)到Python项目
  3. 斯坦福大学2014机器学习教程中文笔记目录
  4. mac改终端前面的计算机名
  5. Charles弱网测试(Web)
  6. Docker-compose 常用命令及网络设置(五)
  7. 检查计算机网络是否连通可运行什么命令,用ping命令如何检测目标主机是否能连通...
  8. python课堂_python课堂整理6---字典
  9. Java之品优购课程讲义_day05(4)
  10. 手动注册native方法
  11. 本科计算机考研统计学,统计学考研考什么科目
  12. Clark变换及比例系数2/3推导过程
  13. outlook邮箱签名设置
  14. 保险业IT整体规划图
  15. emacs java_Emacs配置与使用
  16. xctf攻防世界web新手练习区--write up
  17. Android 5.1 AppOps总结
  18. 移动广告业务发展现状分析
  19. 出自上帝之手的精妙算法 - Algorithm from THE BOOK (1)
  20. 基于蜜蜂优化算法的投资组合优化问题(Matlab代码实现)

热门文章

  1. python编程入门电子书-Python编程从入门到实践PDF电子书
  2. 【一线】亚马逊AWS首席科学家:语音识别取得突破
  3. php checkbox表单提交,HTML表单Checkbox的值如何正确提交到PHP后台?,需要技巧
  4. MongoDB数据库的介绍和连接(非常详细、易懂)
  5. Web API-排他思想及其案例
  6. 一个简单的基于 DirectShow 的播放器 2(对话框类)
  7. MediaInfo源代码分析 4:Inform()函数
  8. plsql导入数据主键_使用plsql添加数据并自动生成主键
  9. python getopterror_python getopt抛出getopterror选项——mode不能有参数
  10. jQuery 学习-样式篇(九):jQuery 存储和删除元素私有数据的方法