B. Planning The Expedition
题目链接:http://codeforces.com/contest/1011/problem/B
题目大意:
输入的n,m代表n个人,m个包裹。
标准就是 每个人一开始只能选定吃哪一个包裹里的食物,刚开始可以和别人吃一样的,也可以和别人吃不一样的。给出的数据代表编号,问你在满足条件的前提下,最多可以让n个人活多少天。
具体思路:
我们可以计算出 i 天这些食物能活下来的最大人数,然后判断的时候,如果说哪一天活下来的最大人数大于n,输出对应的天数就可以了。
代码;
#include<bits/stdc++.h>
using namespace std;
bool cmp(int t1,int t2)
{
return t1>t2;
}
int main()
{
int a[200];
int n,m;
while(cin>>n>>m)
{
int ans=0;
memset(a,0,sizeof(a));
for(int i=1; i<=m; i++)
{
int t;
cin>>t;
if(a[t]==0)
{
ans++;
}
a[t]++;
}
sort(a+1,a+101,cmp);
int b[210];
int maxx=-1;
int num=0;
int flag=0;
memset(b,0,sizeof(b));
for(int i=1; i<=200; i++)
{
// cout<<a[i]<<endl;
int index=0;
for(int j=1; j<=ans; j++)
{
if(a[j]/i)
{
int t=a[j]/i;
index+=t;
}
}
b[i]=index;//i代表天数,index代表这些食物在i天的基础上能供养多少人活下去。
}
for(int i=1; i<=200; i++)
{
if(b[i]>=n)flag=i;
}//如果说,某一天这些食物能活下去的人数大于n,记录一下。
cout<<flag<<endl;
}
return 0;
}
B. Planning The Expedition的更多相关文章
- Planning The Expedition(暴力枚举+map迭代器)
Description Natasha is planning an expedition to Mars for nn people. One of the important tasks is t ...
- Codeforces div2 #499 B. Planning The Expedition 大水题
已经是水到一定程度了QAQ- Code: #include<cstdio> #include<algorithm> #include<cstring> using ...
- CF B. Planning The Expedition
题意:有n个人和m个食物,给出每一个食物的种类,每个人只会吃一种食物,每个人一天吃一个食物,问这n个人可以撑多少天. 分析:因为题目给出的天数范围比较小所以我们可以从1到100天开始枚举,我们判断如果 ...
- 题解 CF1011B Planning The Expedition
Solution 考虑 二分 . 首先要确定二分的对象,显然二分天数较为简单. 每次找到的 \(mid\) 需要判断是否能让整队人吃饱,那就调用一个 check() . 对于 check() ,求出每 ...
- CodeForces - 1015 D.Walking Between Houses
Description Natasha is planning an expedition to Mars for nn people. One of the important tasks is t ...
- CodeForces 1011B
Description Natasha is planning an expedition to Mars for nn people. One of the important tasks is t ...
- Codeforces Round #499 (Div. 2)(1011)
Natasha is planning an expedition to Mars for nn people. One of the important tasks is to provide fo ...
- CodeForces Round #499 Div2
A: Stages 题意: 给你n个字符, 现在需要从中选取m个字符,每个字符的花费为在字母表的第几位,并且如果选了某个字符, 那么下一个选择的字符必须要在字母表的2位之后, 假如选了e 那么 不能选 ...
- 敏捷转型历程 - Sprint3 Planning
我: Tech Leader 团队:团队成员分布在两个城市,我所在的城市包括我有4个成员,另外一个城市包括SM有7个成员.另外由于我们的BA离职了,我暂代IT 的PO 职位.PM和我在一个城市,但他不 ...
随机推荐
- postgres(pgAdmin) 客户端保存密码
pgAdmin 大象客户端保存密码后连接服务器,删除掉当前连接,建立一个新的连接不用输入密码也能连接上,其实是客户端保存了密码,让人误以为是空密码可登录.可以通过右键连接,选择重载服务配置,再次连接就 ...
- Spring StringRedisTemplate 配置
1 先看pom.xml <dependency> <groupId>org.apache.commons</groupId> <artifactId>c ...
- Saddle Point ZOJ - 3955(求每个值得贡献)
题意: 给出一个矩阵,删掉一些行和列之后 求剩下矩阵的鞍点的总个数 解析: 对于每个点 我们可以求出来 它所在的行和列 有多少比它大的 设为a 有多少比它小的 设为b 然后对于那些行和列 都有两种操 ...
- codeforces 797B
B. Odd sum time limit per test 1 second memory limit per test 256 megabytes input standard input out ...
- python的多线程到底有没有用?
在群里经常听到这样的争执,有人是虚心请教问题,有人就大放厥词因为这个说python辣鸡.而争论的核心无非就是,python的多线程在同一时刻只会有一条线程跑在CPU里面,其他线程都在睡觉.这是真的吗? ...
- Qtree3题解(树链剖分+线段树+set)
外话:最近洛谷加了好多好题啊...原题入口 这题好像是SPOJ的题,挺不错的.看没有题解还是来一篇... 题意 很易懂吧.. 题解 我的做法十分的暴力:树链剖分(伪)+线段树+ std :: set ...
- java基础题整理(1)
1.使用length属性获取数组长度,使用length()获取字符串的长度: 2.public.private.protected.friendly区别 public表明该数据成员.成员函数是对所有用 ...
- csp20160904解题报告
dijkstra+贪心 每次加一个到起始点(首都)距离最小的点. 然后加边,这个最小点必然通过一条边和已加入的某个点相连,在这个最小点与已加入的点相连的边中,选取最短的一条边加入. 证明如下: 前提: ...
- Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
使用Eclipse编辑jsp.js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲.将所有用过的方法罗列如下: 1.取消验证 windo ...
- Mysq中的流程控制语句的用法
这篇博客主要是总结一下Mysq中的流程控制语句的用法,主要是:CASE,IF,IFNULL,NULLIF 1.case CASE value WHEN [compare-value] THEN res ...