#O3057. 北京海淀区.2019.06.盒子(box)

北京海淀区.2019.06.盒子(box)

题目描述

小 D 在玩堆盒⼦的游戏,每个盒子有 1 个强度标记,代表它上面最多能堆多少个盒子。由于盒子都是一样大的,所以不能在一个盒子上并列放超过 1 个盒子。

现在小 D 有 n 个盒子,第 i 个盒子的强度为 xix_i 。小 D 想知道,如果他要把这些盒子全部堆起来,至少要堆多少堆。

输入格式

第一行一个整数 n ,代表小 D 有的盒子个数。

第二行读入 n 个整数,第 i 个整数 xix_i 表示第 i 个盒子的强度。

数据范围

对于 20% 的数据,n ≤ 10;

对于 50% 的数据,n ≤ 1000;

对于 100% 的数据,n ≤ 500000,xix_i ≤ 1000000000。

输出格式

一个整数表示小 D 至少要堆多少堆。

样例

5
0 2 1 1 2
2