1. 程式人生 > >江蘇省程式設計大賽-A-Easy h-index

江蘇省程式設計大賽-A-Easy h-index

A. Easy h-index
The h-index of an author is the largest h where he has at least h papers with citations not less than h.
Bobo has published many papers. Given a0, a1, a2, . . . , an which means Bobo has published ai papers with
citations exactly i, find the h-index of Bobo.
Input
The input consists of several test cases and is terminated by end-of-file.
The first line of each test case contains an integer n. The second line contains (n + 1) integers a0, a1, . . . , an.
Output
For each test case, print an integer which denotes the result.
Constraint
• 1 ≤ n ≤ 2 · 105
• 0 ≤ ai ≤ 109
• The sum of n does not exceed 250, 000.
Sample Input
1
1 2
2
1 2 3
3
0 0 0 0
Sample Output
1
2
0

解題思路:從⼤到⼩列舉 h.

我覺得,這就是道閱讀理解題目.......

#include <cstdio>

const int N = 200001;

int a[N];

int main()
{
    int n;
    while (scanf("%d", &n) == 1) {
        for (int i = 0; i <= n; ++ i) {
            scanf("%d", a + i);
        }
        int h = n + 1;
        long long cnt = 0;
        while (cnt < h) {
            cnt += a[-- h];
        }
        printf("%d\n", h);
    }

}