这题真的不太好懂,可能也是我英文不好吧
题目是要求一个最大的E,使得有E天跑步距离大于E(注意是大于!不是大于等于!)没注意这个会只有两个测试点对
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> miles;
bool cmp(int a,int b){
return a > b;
}
int main(){
int n;
scanf("%d",&n);
for(int i = 0;i < n;i++){
int temp;
scanf("%d",&temp);
miles.push_back(temp);
}
sort(miles.begin(),miles.end(),cmp);
int i;
int e = -1;
for(i = 0;i < n;i++){
e = max(e,min(i + 1,miles[i] - 1));
}
printf("%d",e);
system("pause");
return 0;
}