A. Fox and Box Accumulation
time limit per test:1 second
memory limit per test:256 megabytes

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 than
xi boxes on the top of
i-th box. What is the minimal number of piles she needs to construct?

Input

The first line contains an integer
n (1 ≤ n ≤ 100). The next line contains
n integers x1, x2, ..., xn (0 ≤ xi ≤ 100).

Output

Output a single integer — the minimal possible number of piles.

Sample test(s)
Input
3
0 0 10
Output
2
Input
5
0 1 2 3 4
Output
1
Input
4
0 0 0 0
Output
4
Input
9
0 1 0 2 0 1 1 2 10
Output
3
Note

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).

题目链接:http://codeforces.com/problemset/problem/388/A



题目大意:一些盒子,数字代表其上面最多还能放多少,且上面放的数字不能大于其以下的。问最少堆几堆



题目分析:暴力模拟。从上往下一堆一堆的取,具体见程序凝视

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; int a[105], hash[105]; int main()
{
int n, ma = -1;
memset(hash, 0, sizeof(hash));
scanf("%d", &n);
for(int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
ma = max(a[i], ma);
hash[a[i]]++;
}
int ans = 0;
while(n)
{
int cnt = 0; //第i堆的个数
for(int i = 0; i <= ma; i++)
{
//有当前重量的,且其压力大于等于上面的个数
//则将其放到以下
while(hash[i] && i >= cnt)
{
hash[i] --; //放了一个,数量减1
cnt++; //这一堆数量加1
n --; //记录总的剩余个数
}
}
ans ++; //记录堆数
}
printf("%d\n", ans);
}

CodeForces 388A Fox and Box Accumulation (模拟)的更多相关文章

  1. Codeforces 388A - Fox and Box Accumulation

    388A - Fox and Box Accumulation 思路: 从小到大贪心模拟. 代码: #include<bits/stdc++.h> using namespace std; ...

  2. codeforces A. Fox and Box Accumulation 解题报告

    题目链接:http://codeforces.com/problemset/problem/388/A 题目意思:有 n 个 boxes,每个box 有相同的 size 和 weight,但是stre ...

  3. 388A Fox and Box Accumulation

    一开始贪心策略想错了! #include<cstdio> #include<algorithm> using namespace std; ]; int main() { in ...

  4. Codeforces Round #228 (Div. 1) A. Fox and Box Accumulation 贪心

    A. Fox and Box Accumulation 题目连接: http://codeforces.com/contest/388/problem/A Description Fox Ciel h ...

  5. Codeforces Round #228 (Div. 2) C. Fox and Box Accumulation

    C. Fox and Box Accumulation time limit per test 1 second memory limit per test 256 megabytes input s ...

  6. Codeforces Round #228 (Div. 2) C. Fox and Box Accumulation(贪心)

    题目:http://codeforces.com/contest/389/problem/C 题意:给n个箱子,给n个箱子所能承受的重量,每个箱子的重量为1: 很简单的贪心,比赛的时候没想出来.... ...

  7. A. Fox and Box Accumulation

    time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...

  8. cf C. Fox and Box Accumulation

    题意:输入一个n,然后输入n个数,问你可以划分多少个序列,序列为:其中一个数为c,在它的前面最多可以有c个数. 思路:先排序,然后对于每一个数逐步的找没有被用过的数,且这个数可以符合条件,然后如果没有 ...

  9. [codeforces 241]C. Mirror Box

    [codeforces 241]C. Mirror Box 试题描述 Mirror Box is a name of a popular game in the Iranian National Am ...

随机推荐

  1. saltstack 实现redis主从

    centos7.4 172.16.80.5   redis 主 172.16.80.6   redis 从 目录结构如下 file_roots: base: - /srv/salt/base dev: ...

  2. python模块导入

    官方手册:https://docs.python.org/3/tutorial/modules.html 可执行文件和模块 python源代码文件按照功能可以分为两种类型: 用于执行的可执行程序文件 ...

  3. 一篇不错的v4l2入门文档【转】

    转自:http://blog.chinaunix.net/uid-26851094-id-3270803.html 原帖地址: http://www.isongzi.com/2009/02/23/v4 ...

  4. kubernetes节点安装配置

    #环境安装,要与控制节点一致Centos 7 Linux release 7.3.1611网络: 互通配置主机名设置各个服务器的主机名hosts#查找kubernetes支持的docker版本Kube ...

  5. 写给小白看的 JavaScript 异步

    某天突然写了个方法要从后台调用数据,显示在前台页面,但是输出结果总是空 undefined,得不到数据.多方找资料才发现,原来是入了 JS 异步的 “坑”. 我们常常听到单线程.多线程.同步.异步这些 ...

  6. HDU 6237.A Simple Stone Game-欧拉函数找素因子 (2017中国大学生程序设计竞赛-哈尔滨站-重现赛)

    A Simple Stone Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Ot ...

  7. POJ 3620 Avoid The Lakes【DFS找联通块】

    Avoid The Lakes Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6826   Accepted: 3637 D ...

  8. 基于django rest framework的mock server实践

    网上找了一下mock server的实现,发现python的基本都是基于flask来实现的,因最近在学django,就尝试用drf实现了下: A brief introduction of sui_m ...

  9. Python_Tips[5] -> 可变数据类型作为初始化形参

    可变数据类型作为初始化形参 / Mutable Parameter as Init Formal-para 由于在Python中,没有类似C语言的static静态参数,因此当一个函数需要一个只初始化一 ...

  10. System.getProperty("os.name")

    Here is a handy Java class that useSystem.getProperty("os.name") to detect which type of o ...