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 ...
随机推荐
- asp.net 获取音视频时长 的方法
http://www.evernote.com/l/AHPMEDnEd65A7ot_DbEP4C47QsPDYLhYdYg/ 日志: 1.第一种方法: 调用:shell32.dll ,win7 ...
- python3 切换工作文件夹
python3 默认的工作文件夹在Python安装路径下.如下为查看工作文件夹路径: >>> import os >>> os.getcwd() 'D:\\Work ...
- Django-ORM简介
ORM简介 MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库 ORM是“对象-关系-映射”的简称 ...
- Focal Loss笔记
论文:<Focal Loss for Dense Object Detection> Focal Loss 是何恺明设计的为了解决one-stage目标检测在训练阶段前景类和背景类极度不均 ...
- shell系统检测->
系统状态检测脚本练习 1-> 查看磁盘状态 思路:查看磁盘/当前使用状态,如果使用率超过80%则报警发邮件 1.获取磁盘当前使用的值 df -h|grep /$ 2.从获取到的值中提取出,对应的 ...
- linux查看内存、CPU占用资源最多的进程
[内存占用] #利用ps命令,默认使用ps参数会显示的结果 ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 ...
- Nginx - Header详解
1. 前言 通过 HttpHeadersModule 模块可以设置HTTP头,但是不能重写已经存在的头,比如可能相对server头进行重写,可以添加其他的头,例如:Cache-Control,设置生存 ...
- 产看Linux运行时间
Linux下如何查看系统启动时间和运行时间 1.uptime命令输出:16:11:40 up 59 days, 4:21, 2 users, load average: 0.00, 0.01, 0.0 ...
- python进阶学习之匿名函数lambda
定义: lambda 参数列表:return(表达式) 匿名函数的表达式,只允许有一个. 匿名函数一般用于较简单的情况. 实例1: 实例2,配合高阶函数filter()使用: filter()函数是 ...
- [java笔记]父类设计法则
1.父类通常情况下都设计为抽象类或接口,其中优先考虑接口,如接口不能满足才考虑抽象类. 2.一个具体的类尽可能不去继承另一个具体类,这样的好处是无需检查对象是否为父类的对象.