PAT_A1117
PAT甲级1117.
目录
A1117
题目
样例
输入:
10
6 7 6 9 3 10 8 2 7 8
输出:
6
思路和坑点
思路:
按照题目的给定的概念先排序,然后计算出爱丁顿数。
AC代码
#include<bits/stdc++.h>
using namespace std;
bool cmp(int a,int b){
return a>b;
}
int main(){
#ifdef ONLINE_JUDGE
#else
freopen("1.txt", "r", stdin);
#endif
int n,ans=0;
scanf("%d",&n);
int a[n]; //变量初始化数组需要编译器支持
for(int i=0;i<n;i++) scanf("%d",&a[i]); //读入数据
sort(a,a+n,cmp); //从大到小排序
while(ans<n&&a[ans]>ans+1) ans++; //在满足下标的范围内,统计满足的天数,为保证ans下标有效性,ans<n判定放在前边
printf("%d",ans); //由于从大到小排列,所以ans下标总共有ans+1天,所以如果有ans+1天的骑行超过ans+1,就统计计数
return 0;
}