题目传送门
分析:对n个数据从大到小排序,i表示了骑车的天数,那么满足a[i] > i的最大值即为所求
#include <iostream>
#include <algorithm>
using namespace std;
int a[1000000];
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
}
sort(a + 1, a + n + 1, greater<int>());
int ans = 0, i = 1;
while (ans <= n && a[i] > i)
{
i++;
ans++;
}
cout << ans;
return 0;
}