HDU 5933 ArcSoft's Office Rearrangement(模拟)
来源:互联网 发布:梵高传 知乎 编辑:程序博客网 时间:2024/06/18 10:58
题意:对于给定的n个数,可以把它们分割或合并,要求最后变成k个大小相等的数,求操作次数
把每个数想像成一个长度的线段,这条线段的总长度为
设k段的每一部分为aver
那进行k个循环:
不断的给sum加上a[i];
如果sum < aver,说明要进行一次合并操作,ans++;
当不满足sum < aver时,则停止加a[i];
此时,如果sum > aver,并且说明需要一次分割操作,ans++,将sum变为分割后剩余的部分;
如果sum值在合并操作时刚好变成了aver,说明最后的时候多了一次合并,ans–;
注意longlong,以及……不要想太复杂qaq
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N=100010;typedef long long ll;ll n,k,ans;ll a[N];int main(){ int t,cas=1; scanf("%d",&t); while(t--){ ans=0; ll sum=0; scanf("%lld %lld",&n,&k); for(int i=1;i<=n;i++){ scanf("%lld",&a[i]); sum+=a[i]; } if(sum%k){ ans=-1; } else{ ll aver=sum/k; int j=1; sum=0; for(int i=1;i<=k;i++){ while(sum<aver){ sum+=a[j]; j++; ans++; } if(sum>aver) ans++; sum=sum-aver; if(sum==0) ans--; } } printf("Case #%d: %lld\n",cas++,ans); }}/*33 12 3 43 61 2 3*/
0 0
- 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
- 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 【模拟】(2016年中国大学生程序设计竞赛(杭州))
- 网狐棋牌游戏用户数据库QPAccountsDB开发文档
- 20161101临界知识修订建议
- Java常用类库
- Python_实现简单贝叶斯分类
- 每日一shell之route
- HDU 5933 ArcSoft's Office Rearrangement(模拟)
- 读深入理解Linux内核 (第9章 进程地址空间, 第二部分 ---- 内存区域)
- linux指令 -- find
- 去掉tableView多余的空白行分割线
- C#安装和基础学习
- Java学习笔记
- 自动登录:Filter,Session,Cookie综合例子
- 【JZOJ4840】【NOIP2016提高A组集训第4场11.1】小W砍大树
- Java多线程之内存可见性