题目描述
多多很喜欢发朋友圈,至今他已经发了N条朋友圈,并且他的第i条朋友圈获得了ci次点赞。多多听说有一个h指数来衡量朋友圈的质量,h指数是指有至少h条获得了不少于h次点赞的朋友圈的最大整数h。例如,有4条朋友圈获得的点赞次数为(1,100,2,3),则h指数为2,如果点赞次数为(1,100,3,3),则h指数为3。
多多想知道自己的h指数是多少。
输入格式
第一行为一个整数N(1<=N<=100000)。
第二行为N个整数,第i个数表示第i条朋友圈获得的点赞次数ci(0<=ci<=100000)。
输出格式
输出一个整数,表示多多的h指数。
输入/输出例子1
输入:
4
1 100 2 3
输出:
2
代码
#include <bits/stdc++.h>
using namespace std;
long long a[1000002],n,i,j,m;
int main(){
cin>>n;
for (int i=1;i<=n;i++)
{
cin>>a[i];
m+=a[i];
}
sort(a,a+n);
for (i=m/n+1;i>=0;i--)
{
int s=0;
for (int j=0;j<=n;j++)
if (a[j]>=i) s++;
if (s>=i)
{
cout<<i;
return 0;
}
}
return 0;
}