hrbust 2176 Mac的投票 二分/水题
Mac的投票
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 52(12 users) Total Accepted: 12(10 users) Rating: Special Judge: No
Description
Mac 占领了Dust星球,为了占领整个星系,他必须先离开Du星。但是,离开之前他需要选出Dust星的新首领替他接管星球。
Dust星上有 N 个城市,Mac 需要制作 M 个容量相等投票箱用于每个城市的投票。Mac 已经知道了每个城市的人口数量,并且每个人都会参加自己城市的投票行动。
Mac 现在想知道他制作投票箱的容量最少是多少,这样在他分配给每个城市一定数量的邮箱后,每个城市的邮箱都可以装下该城市所有人的投票。
Input
多组测试数据,对于每组测试数据:
输入的第一行为两个整数 N(1<=N<=500,000),B(N<=B<=2,000,000),分别表示城市总数和邮箱的总数。
接下来的N 行,每行一个整数 ai(1<=ai<=5,000,000) 表示该城市的人口总数。
当 N 和 M 都为-1 时,输入结束。
Output
对于每组测试数据,输出一个整数,表示投票箱的最小容量,每组输出占一行。
Sample Input
2 7
200000
500000
4 6
120
2680
3400
200
-1 -1
Sample Output
100000
1700
题解
二分枚举答案就好了
int a[maxn],c[maxn];
int main()
{
int n,b;
while(~scanf("%d%d",&n,&b))
{
if(n==-1&&b==-1)
break;
int r=0,l=0,mid;
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
r=max(a[i],r);
}
int num,ans=inf;
while(l<r)
{
num=b;
mid=(l+r)/2;
for(int i=1;i<=n;i++)
{
c[i]=a[i];
while(c[i]>mid)
{
num--;
c[i]-=mid;
}
if(mid>=c[i])
{
num--;
}
}
if(num>=0)
{
r=mid;
ans=min(ans,mid);
}
else if(num<0) l=mid+1;
}
printf("%d\n",ans);
}
return 0;
}
hrbust 2176 Mac的投票 二分/水题的更多相关文章
- HDU 2199 Can you solve this equation? (二分 水题)
Can you solve this equation? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ( ...
- CF 628A --- Tennis Tournament --- 水题
CF 628A 题目大意:给定n,b,p,其中n为进行比赛的人数,b为每场进行比赛的每一位运动员需要的水的数量, p为整个赛程提供给每位运动员的毛巾数量, 每次在剩余的n人数中,挑选2^k=m(m & ...
- Codeforces Round #367 (Div. 2)---水题 | dp | 01字典树
A.Beru-taxi 水题:有一个人站在(sx,sy)的位置,有n辆出租车,正向这个人匀速赶来,每个出租车的位置是(xi, yi) 速度是 Vi;求人最少需要等的时间: 单间循环即可: #inclu ...
- UPC 2959: Caoshen like math 这就是个水题
http://acm.upc.edu.cn/problem.php?id=2959 这就是个水题,之所以要写这个题是感觉很有纪念意义 用力看就是盲……23333333333333333 这个题就是最小 ...
- BZOJ USACO 银组 水题集锦
最近刷银组刷得好欢快,好像都是水题,在这里吧他们都记录一下吧(都是水题大家一定是道道都虐的把= =)几道比较神奇的题到时再列出来单独讲一下吧= =(其实我会说是BZOJ蹦了无聊再来写的么 = =) [ ...
- POJ 水题(刷题)进阶
转载请注明出处:優YoU http://blog.csdn.net/lyy289065406/article/details/6642573 部分解题报告添加新内容,除了原有的"大致题意&q ...
- Atcoder 水题选做
为什么是水题选做呢?因为我只会水题啊 ( 为什么是$Atcoder$呢?因为暑假学长来讲课的时候讲了三件事:不要用洛谷,不要用dev-c++,不要用单步调试.$bzoj$太难了,$Topcoder$整 ...
- UVALive 2318 水题
给出c 个竞争者.v 个投票人.每个投票人的投票顺序.问你谁会胜出.在第几轮.完全是个水题.比赛的时候debug接近两个点没过.因此差点放弃了整场比赛.猜测是错在找最大和第二大的序号哪里错的.因为我换 ...
- 【转】POJ百道水题列表
以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...
随机推荐
- linux创建新用户
服务器只用root账号会有风险,最好是每个人使用一个账号. 1. 添加用户名 adduser linuxidc 2. 给这个用户名设置新密码 passwd linuxidc 3.授权 个人用户的权限只 ...
- TF-池化函数 tf.nn.max_pool 的介绍
转载自此大神 http://blog.csdn.net/mao_xiao_feng/article/details/53453926 max pooling是CNN当中的最大值池化操作,其实用法和卷积 ...
- fsevents npm install是报错
npm install 安装插件的时候,fsevents报错,这是node 8.x版本的问题,解决办法,把node 版本切换到6.x
- 分享一个自己写的vue多语言插件smart-vue-i18n
前言 目前有比较成熟的方案(vue-i18n)了解了下,并且实用了一下感觉对于我在使用的项目来说略显臃肿,功能比较多,所以压缩的会比较大,在移动端不太适合所以自己花一天时间撸了一个vue多语言插件,压 ...
- linux tomcat 突然验证码出不来
情况描述 虚拟机上用tomcat部署的web应用,本来都还可以的.后来打了一个快照进行过压缩后,重新起虚拟机发现应用登录界面的验证码出不来了,具体报的是500错误. 参见http://www.blog ...
- No.7 selenium学习之路之Alert弹窗
Alert弹窗 弹窗是用工具选不到的~ 切换到alert driver.switch_to_alert() 新的语法:driver.switch_to.alert 注:新的语法不需要后面加括号 打印a ...
- linux 系统网卡无法识别,缺少驱动
#linux网卡驱动安装# Linux设备加载 #lsmod Module Size Used by e1000e 查看硬件设备 ls /usr/share/hwdata 查看pci网卡设备 lspc ...
- c 语言文本文件判断是否到达结尾的问题
在c语言中,判断文件结尾有两种方法,第一种是使用feof()函数,feof(fp)用于测试fp所指向的文件的当前状态是否为“文件结束”.如果是,函数则返回的是非0值(真),否则为0(假),要注意的是, ...
- CVE-2013-3893
前方高能!!!这篇博文比较长,因为我把完整的调试过程都记录下来了,感兴趣的童鞋可以看下.没有耐心的童鞋可以直接跳到最后看总结:) Microsoft Internet Explorer 远程代码执行漏 ...
- 配置toad远程连接oracle
在oracle服务器上: C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN目录 文件:listener.ora(10.144.118 ...