这里注意 “爱丁顿数”E,即满足有E天骑车超过E英里的最大整数E。不包括等于。
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
bool cmp(int a,int b){
return a>b;
}
int main(){
int N,num,E=0,max=0;
vector<int> number;
cin>>N;
for(int i=0;i<N;i++){
cin>>num;
if(num>max)max=num;
number.push_back(num);
}
sort(number.begin(),number.end(),cmp);
for(int i=0;i<N;i++){
if(number[i]>i+1){
E=i+1;
}
}
cout<<E;
return 0;
}