#include <bits/stdc++.h>
using namespace std;
int a[500005],b,c=1,e[1000006],d,f,g;
void Sort(){
for(int i=1;i<=b;i++){
e[a[i]]++;
}
for(int i=1;i<=g;i++){
while(e[i]){
e[i]--;
a[++f]=i;
}
}
}
int main()
{
scanf("%d",&b);
d=b-1;
for(int i=1;i<=b;i++){
scanf("%d",&a[i]);
g=max(g,a[i]);
}
Sort();
while(d){
d--;
a[c]--;
if(a[c]==0){
b--;
d--;
c++;
}
}
b--;
printf("%d",b);
return 0;
}
P8297哪里会T?
O(N+M)时间复杂度,不会T的