测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A27732. 朋友圈多多很喜欢发朋友圈,至今他已经发了N条朋友圈,并且他的第i条朋友圈获得了ci次点赞。多多听说有一个h指数来衡量朋友圈的质量,h指数是指有至少h条获得了不少于h次点赞的朋友圈的最大整数h。例如,有4条朋友圈获得的点赞次数为(1,100,2,3),则h指数为2,如果点赞次数为 (1,100,3,3),则h指数为3。 多多想知道自己的h指数是多少。

填空题 中等

题目描述

朋友圈

多多很喜欢发朋友圈,至今他已经发了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; int n,x,f[100005],ma; int main() {        cin>>n;        for(int i=1;i<=n;i++)        {               cin>>x;               f[x]++;               ma=max(ma,x);        }                for(int i=ma;i>=0;i--)         f[i]+=f[i+1];        for(int i=ma;i>=0;i--)        {               if(f[i]>=i)         {                cout<<i;                return 0;         }        }   return 0; }
上一题 下一题