题意
给你n天所骑车的公里数,让你求出有E天汽车公里数超过E的最大整数E
思路
1.将数进行从大到小排序
2.for循环从0开始遍历 进行比较 a[i]>=i+1 则是满足条田的最大整数
坑点
无
代码
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a,int b){
return a>b;
}
int main()
{
int n,a[100000],i;
cin >>n;
for(i=0;i<n;i++)
{
cin >>a[i];
}
sort(a,a+n,cmp);
for(i=0;i<n;i++)
{
if(a[i]<=i+1)
{
break;
}
}
cout <<i;
return 0;
}
总结
难度中等,需勤加思考,进行模拟