Submission

Status:
[P-SSSSSSSSSS]

Score: 0

User: monpluk

Problemset: 01.H-index

Language: cpp

Time: 0.002 second

Submitted On: 2025-04-08 16:23:03

#include <iostream>
#include <vector>
using namespace std;

int main(){
    int n;
    cin >> n;
    vector<int> arr;
    for(int i=0;i<n;i++){
        int a;
        cin >> a;
        arr.push_back(a);
    }
    int left = 0,right = n;
    while(left < right){
        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;
}