思路
这题初看数据范围就不大,然后很明显可以一边排序一边模拟(其实就是贪心)
#include
#include
using namespace std;
int a[101];
bool cam(int a,int b)
{
return a>b;
}
int main()
{
int n;
scanf("%d",&n);
for (int i=1;i<=n;i++)
scanf("%d",&a[i]);
sort(a+1,a+n+1,cam);
int i=0;
while (1==1)
{
i++;
for (int j=1;j<=i;j++)
{
if (a[j]==0)
{
printf("%d\n",i-1);
return 0;
}
else a[j]--;
}
sort(a+1,a+n+1,cam);
}
return 0;
}
Comments NOTHING