hdu5933ArcSoft's Office Rearrangement
来源:互联网 发布:淘宝收货时间怎么设置 编辑:程序博客网 时间:2024/05/01 18:39
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5933
题意:将给定的n堆员工重新平均分成k堆,每次只能合并相邻两堆或者将一堆分成相邻的两堆,不可行输出-1或者输出最小操作数。
分析:很明显只需要从左往右模拟即可,比平均值多就分出一堆,小了就合并到下一堆。
代码:
#include<map>#include<set>#include<stack>#include<cmath>#include<queue>#include<bitset>#include<math.h>#include<vector>#include<string>#include<stdio.h>#include<cstring>#include<iostream>#include<algorithm>#pragma comment(linker, "/STACK:102400000,102400000")using namespace std;typedef double db;typedef long long ll;typedef unsigned int uint;typedef unsigned long long ull;const db eps=1e-8;const int N=1e5+10;const int M=2e5+10;const ll MOD=1000000007;const int mod=1000000007;const int MAX=1000000010;const double pi=acos(-1.0);ll d,k,sum,a[N],ans;int main(){ int i,n,ca,T; scanf("%d", &T); for (ca=1;ca<=T;ca++) { scanf("%d%I64d", &n, &k); sum=0ll; for (i=1;i<=n;i++) scanf("%I64d", &a[i]),sum+=a[i]; printf("Case #%d: ", ca); if (sum%k!=0) printf("-1\n"); else { d=sum/k;ans=0; for (i=1;i<=n;i++) if (a[i]<d) { ans++;a[i+1]+=a[i]; } else if (a[i]==d) continue ; else { while (a[i]>d) ans++,a[i]-=d; if (a[i]==d) continue ; else ans++,a[i+1]+=a[i]; } printf("%I64d\n", ans); } } return 0;}
0 0
- hdu5933ArcSoft's Office Rearrangement
- HDU5933ArcSoft's Office Rearrangement(模拟)
- ArcSoft's Office Rearrangement
- ArcSoft's Office Rearrangement(贪心)
- HDU5933-ArcSoft's Office Rearrangement
- hdu 5933 ArcSoft's Office Rearrangement【模拟】
- hdu5933 ArcSoft's Office Rearrangement 贪心
- hdu 5933 ArcSoft's Office Rearrangement
- HDU-5933 ArcSoft's Office Rearrangement(思维)
- HDU 5933 ArcSoft's Office Rearrangement
- 【HDU 5933】 ArcSoft's Office Rearrangement 【贪心】
- HDU 5933 ArcSoft's Office Rearrangement
- HDU 5933 ArcSoft's Office Rearrangement (模拟)
- hdu 5933 ArcSoft's Office Rearrangement
- hdu 5933 ArcSoft's Office Rearrangement 思维
- hdu 5933 ArcSoft's Office Rearrangement
- HDU5933.ArcSoft's Office Rearrangement(贪心+模拟)
- HDU-5933-ArcSoft's Office Rearrangement
- 体系, 标准
- React官方文档--Lifting State Up
- 一类隐马尔可夫模型的若干极限性质
- Python基础学习--第六篇(函数)
- 实现一个div,左边固定div宽度200px,右边div自适应
- hdu5933ArcSoft's Office Rearrangement
- 让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法
- 数据结构与算法
- php判断变量是否为数字
- Android Service完全解析,关于服务你所需知道的一切(下)
- 字符串,数组,list集合判断是否为空
- 类似于QQ个人主页,NavigationBar透明渐变
- Matlab random(转)
- 在eclipse中 自定义maven配置