1060. 爱丁顿数(25)-PAT乙级真题
2016-09-11 17:55
423 查看
1060. 爱丁顿数(25)
英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数”E,即满足有E天骑车超过E英里的最大整数E。据说爱丁顿自己的E等于87。
现给定某人N天的骑车距离,请你算出对应的爱丁顿数E(<=N)。
输入格式:
输入第一行给出一个正整数N(<=105),即连续骑车的天数;第二行给出N个非负整数,代表每天的骑车距离。
输出格式:
在一行中给出N天的爱丁顿数。
输入样例:
10
6 7 6 9 3 10 8 2 7 8
输出样例:
6
分析:从下标1开始存储n天的公里数在数组a中,对n个数据从大到小排序,i表示了骑车的天数,那么满足a[i] > i的最大值即为所求
英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数”E,即满足有E天骑车超过E英里的最大整数E。据说爱丁顿自己的E等于87。
现给定某人N天的骑车距离,请你算出对应的爱丁顿数E(<=N)。
输入格式:
输入第一行给出一个正整数N(<=105),即连续骑车的天数;第二行给出N个非负整数,代表每天的骑车距离。
输出格式:
在一行中给出N天的爱丁顿数。
输入样例:
10
6 7 6 9 3 10 8 2 7 8
输出样例:
6
分析:从下标1开始存储n天的公里数在数组a中,对n个数据从大到小排序,i表示了骑车的天数,那么满足a[i] > i的最大值即为所求
#include <cstdio> #include <algorithm> using namespace std; int a[1000000]; bool cmp1(int a, int b) { return a > b; } int main() { int n; scanf("%d", &n); for(int i = 1; i <= n; i++) { scanf("%d", &a[i]); } sort(a+1, a+n+1, cmp1); int ans = 0; int p = 1; while(ans <= n && a[p] > p) { ans++; p++; } printf("%d", ans); return 0; }
相关文章推荐
- PAT乙级真题1060. 爱丁顿数(25)
- 1060. 爱丁顿数(25) PAT乙级真题
- PAT乙级 1060. 爱丁顿数(25)
- PAT 乙级 1060. 爱丁顿数(25)
- pat乙级1060. 爱丁顿数(25)
- [PAT乙级]1060. 爱丁顿数(25)
- PAT 乙级 1060 爱丁顿数(25)
- 乙级 PAT 1060. 爱丁顿数(25)
- PAT乙级 1060. 爱丁顿数(25)--数学问题,sort()排序要注意的问题
- 1030. 完美数列(25)-PAT乙级真题
- 1010. 一元多项式求导 (25) PAT乙级真题
- 1070. 结绳(25) PAT乙级真题
- 1020. 月饼 (25) PAT乙级真题
- 1015. 德才论 (25)-PAT乙级真题-浙大PAT乙级真题java实现
- PAT乙级真题 1065. 单身狗(25)
- PAT乙级1060 爱丁顿数
- PAT乙级真题及训练题 1025. 反转链表 (25)
- 1055. 集体照 (25)-PAT乙级真题
- pat乙级真题 1050. 螺旋矩阵(25)
- 1075. 链表元素分类(25) PAT乙级真题