Codeforces Round #228 (Div. 2) C Fox and Box Accumulation(贪心)
来源:互联网 发布:淘宝发布宝贝图片变形 编辑:程序博客网 时间:2024/06/01 09:18
思路:从小到大放,能放就放,简单模拟就可以了
#include<bits/stdc++.h>using namespace std;const int maxn = 105;int vis[maxn];int n,maxv,ans;int main(){ int x; scanf("%d",&n); for(int i=0; i<n; i++) {int tmp; scanf("%d",&tmp); vis[tmp]++; maxv = max(maxv,tmp); } while(n) { x=0; for(int i=0; i<=maxv; i++) { while(vis[i]&&i>=x) { x++; vis[i]--; n--; } } ans++; } printf("%d\n",ans);}
Fox Ciel has n boxes in her room. They have the same size and weight, but they might have different strength. The i-th box can hold at most xi boxes on its top (we'll call xi the strength of the box).
Since all the boxes have the same size, Ciel cannot put more than one box directly on the top of some box. For example, imagine Ciel has three boxes: the first has strength 2, the second has strength 1 and the third has strength 1. She cannot put the second and the third box simultaneously directly on the top of the first one. But she can put the second box directly on the top of the first one, and then the third box directly on the top of the second one. We will call such a construction of boxes a pile.
Fox Ciel wants to construct piles from all the boxes. Each pile will contain some boxes from top to bottom, and there cannot be more thanxi boxes on the top of i-th box. What is the minimal number of piles she needs to construct?
The first line contains an integer n (1 ≤ n ≤ 100). The next line contains n integers x1, x2, ..., xn (0 ≤ xi ≤ 100).
Output a single integer — the minimal possible number of piles.
30 0 10
2
50 1 2 3 4
1
40 0 0 0
4
90 1 0 2 0 1 1 2 10
3
In example 1, one optimal way is to build 2 piles: the first pile contains boxes 1 and 3 (from top to bottom), the second pile contains only box 2.
In example 2, we can build only 1 pile that contains boxes 1, 2, 3, 4, 5 (from top to bottom).
- Codeforces Round #228 (Div. 2) C Fox and Box Accumulation(贪心)
- Codeforces Round #228 (Div. 2)C. Fox and Box Accumulation
- Codeforces Round #228 (Div. 2)C. Fox and Box Accumulation
- Codeforces Round #228 (Div. 1) A. Fox and Box Accumulation (贪心)
- Codeforces #228 (Div. 2)C. Fox and Box Accumulation
- Codeforces Round #228 (Div. 1) A. Fox and Box Accumulation
- Codeforces Round #228 (Div. 1) A. Fox and Box Accumulation 贪心
- Codeforces Round #228 (Div. 1)A. Fox and Box Accumulation(逆向思维)
- Codeforces 389C Fox and Box Accumulation【贪心】
- Codeforces 388A Fox and Box Accumulation(贪心)
- CodeForces 388A Fox and Box Accumulation(贪心)
- [Codeforces] 389C - Fox and Box Accumulation
- codeforces Fox and Box Accumulation
- codeforces Fox and Box Accumulation
- Fox and Box Accumulation CodeForces
- Codeforces 388A Fox and Box Accumulation(贪心)
- 贪心-codeforces-388A-Fox and Box Accumulation
- CodeForces 388A Fox and Box Accumulation 贪心
- POJ 2777 Count Color (线段树)
- Linux TCP网络编程
- Codeforces Round #228 (Div. 2) B Fox and Cross(DFS)
- WaitForMultipleObjects用法详解,一看就懂
- Java线程:线程的调度-守护线程
- Codeforces Round #228 (Div. 2) C Fox and Box Accumulation(贪心)
- 辰辰的成长记录
- MyBatis学习总结[5]-动态 SQL
- Java中ArrayList和LinkedList区别
- Codeforces Round #228 (Div. 2) E Fox and Card Game(贪心博弈)
- 我排第几 第几是谁? 康托展开与逆康托展开
- kafka实践(四):kafka使用之中的一些关注点
- go语言数组
- 基于tensorflow的MNIST手写数字识别