Submission

Status:
[PPPPPPPPPPPP]

Score: 100

User: Dormon

Problemset: 01.H-index

Language: cpp

Time: 0.251 second

Submitted On: 2025-03-31 10:05:53

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie();

    int n;
    cin >> n;
    vector<long long> v(n);

    for (auto &e:v)
        cin >> e;

    int lb = 0, ub = n, ans = 0;
    while (lb <= ub){
        int mid = lb + (ub - lb) / 2;
        int cnt = 0;
        for (auto e:v)
            cnt += (mid <= e);
        if (cnt >= mid){
            ans = mid;
            lb = mid + 1;
        }
        else
            ub = mid - 1;
        // cout << cnt << ' ' << mid << '\n';
    }
    cout << ans << '\n';
}