盒子
时间限制:1秒 内存限制:256M
【题目描述】
小D在玩堆盒子的游戏,每个盒子都有一个强度,代表他上方能堆多少盒子,比如某盒子强度为5,表示该盒子上面最多能堆放5个盒子。由于盒子都是一样大的,所以不能在一个盒子上并列放两个盒子。
现在小D有 \(n\) 个盒子,第 \(i\) 个盒子的强度时 \(X_i\),小D想知道,如果他要把这些盒子全部堆起来,至少要堆多少堆。
【输入格式】
第一行读入一个整数 \(n\),代表小D有的盒子个数。
第二行读入 \(n\) 个整数,第 \(i\) 个整数 \(X_i\) 表示第 \(i\) 个盒子的强度。
【输出格式】
共一行,一个整数表示小D至少要堆多少堆。
【输入输出样例1】
Input
5
0 2 1 1 2
Output
2
【输入输出样例2】
Input
10
5 5 2 8 4 1 0 3 2 1
Output
2
【数据限制】
\(20\%\) 的数据满足,\(n≤10\)
\(50\%\) 的数据满足,\(n≤1000\)
\(100\%\) 的数据满足,\(n≤500000\),\(X_i≤10^9\)
【来源】
Mr.he