BZOJ 1045 [HAOI2008] 糖果传递
来源:互联网 发布:定位软件开发 编辑:程序博客网 时间:2024/05/18 02:00
Description
有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。
Input
第一行一个正整数n<=987654321,表示小朋友的个数.接下来n行,每行一个整数ai,表示第i个小朋友得到的
糖果的颗数.
Output
求使所有人获得均等糖果的最小代价。
【题目分析】
中位数+结论。
【代码】
#include <cstdio>#include <algorithm>using namespace std;#define ll long long ll a[1000001],f[1000001],ave,ans;int n;int main(){ scanf("%d",&n); for (int i=1;i<=n;++i) { scanf("%lld",&a[i]); ave+=a[i]; } ave/=n; for (int i=1;i<=n;++i) f[i]=f[i-1]+a[i]-ave; sort(f+1,f+n+1); ll mid=f[n/2+1]; for (int i=1;i<=n;++i) ans+=abs(f[i]-mid); printf("%lld\n",ans);}
1 0
- BZOJ 1045: [HAOI2008] 糖果传递
- bzoj 1045 [HAOI2008] 糖果传递
- 【bzoj 1045】[HAOI2008] 糖果传递
- BZOJ 1045 [HAOI2008] 糖果传递
- 【BZOJ】1045: [HAOI2008] 糖果传递
- BZOJ 1045 [HAOI2008] 糖果传递
- bzoj 1045: [HAOI2008]糖果传递
- BZOJ 1045 [HAOI2008] 糖果传递
- BZOJ 1045: [HAOI2008] 糖果传递 数学,乱搞
- BZOJ 1045/1465: [HAOI2008] 糖果传递
- BZOJ 1045 [HAOI2008] 糖果传递 ……
- bzoj [HAOI2008] 糖果传递 贪心
- 1045: [HAOI2008] 糖果传递
- 1045: [HAOI2008] 糖果传递
- bzoj 1045: [HAOI2008] 糖果传递 (数学相关)
- 【BZOJ】1045 [HAOI2008] 糖果传递 && 3293 [Cqoi2011]分金币 贪心
- BZOJ 3293/1465/1045([Cqoi2011]分金币/糖果传递/[HAOI2008] 糖果传递-列方程)
- [HAOI2008][CQOI2011]糖果传递
- 解决小米,魅族手机打开悬浮窗口问题
- WebView内存泄漏解决方法
- Caffe学习系列——工具篇:计算数据集的图像均值
- 这20个正则表达式,让你少写1,000行代码
- c中角度和弧度的转换
- BZOJ 1045 [HAOI2008] 糖果传递
- 第十一周项目1-验证二叉树算法(1)
- 第一次体验,也是学习也是锻炼!
- Unity 真实物理动力学实时计算
- bzoj1051 [HAOI2006]受欢迎的牛[图论][tarjan缩点]
- SpringMVC环境搭建问题:org.springframework.web.servlet.DispatcherServlet noHandlerFound
- iOS 判断网络连接状态的几种方法
- Android StringUtils-字符串相关工具类
- 最长回文子串