C++ 代码
#include <iostream>
#include <stack>
#include <algorithm>
using namespace std;
const int MAX_N = 100010;
int arr[MAX_N];
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> arr[i];
}
//递减排序,保证前e天的里程数都大于e
sort(arr + 1, arr + 1 + n, greater<int>());
int e = 1;
while (e <= n && arr[e] > e) e++; // e为天数, 第e天里程数 > e
printf("%d", e - 1); // e不满足条件退出循环, e - 1满足条件
return 0;
}
妙啊