6 7 6 9 3 10 8 2 7 8
2 3 6 6 7 7 8 8 9 10
a=10 1天超过1公里
a=9 2天超过2公里
a=8 3天超过3公里
a=8 4天超过4公里
a=7 5天超过5公里
a=7 6天超过6公里
a=6 结束... n-i-1
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
const int INF = 100001;
int main() {
int n, i, j;
cin >> n;
int* a = new int[n];
for (i = 0; i < n; i++) {
cin >> a[i];
}
sort(a, a + n);
if (a[0] > n) {
cout << n << endl;
}
else {
for (i = n - 1; i >= 0; i--) {
if (a[i] <= n - i) {
cout << n - i - 1 << endl;
break;
}
}
}
return 0;
}