题目链接:点击查看
题目描述:
英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个 “爱丁顿数” E ,即满足有 E 天骑车超过 E 英里的最大整数 E。据说爱丁顿自己的 E 等于87现给定某人 N 天的骑车距离,请你算出对应的爱丁顿数 E(≤N)。
输入输出:
输入:
10
6 7 6 9 3 10 8 2 7 8
输出:
6
题目分析:
本题的思路非常简单,创建一个动态数组dis并将输入的数存入 dis中 ,然后对dis 进行排序 ,排完序后遍历这个数组,当跑步公里数dis[i]大于剩余天数n-i时,即得到爱丁顿数E=n-i;
代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
vector<int>dis;
int n,i,temp;
cin>>n;
for(i=0;i<n;++i)
{
cin>>dis[i];
}
sort(dis.begin(),dis.end());
for(i=0;i<n;++i)
{
if(dis[i]>n-i)
{
break;
}
}
cout<<n-i<<endl;
return 0;
}