Submission
Status:
[P-SSSSSSSSSS]
Score: 0
User: monpluk
Problemset: 01.H-index
Language: cpp
Time: 0.002 second
Submitted On: 2025-04-08 16:25:26
#include <iostream>
#include <vector>
using namespace std;
int main(){
long long int n;
cin >> n;
vector<long long int> arr;
for(int i=0;i<n;i++){
long long int a;
cin >> a;
arr.push_back(a);
}
long long int left = 0,right = n;
while(left < right){
long long int mid = (left + right)/2,cnt = 0;
for(int i=0;i<n;i++){
if(arr[i] >= mid){
cnt++;
}
}
if(cnt >= mid){
left = mid + 1;
}else{
right = mid;
}
}
cout << left-1;
}