JSCPC 2018 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.

输入:

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.
* 1≤n≤2*105
* 0≤ai≤109

* The sum of n does not exceed 250,000.

输出:

For each test case, print an integer which denotes the result.

样例输入:

1
1 2
2
1 2 3
3
0 0 0 0

样例输出:

1
2

0

思路:从大到小枚举h,主要是理解题目,要求至少有h篇   引文不低于h   的论文

如:

3

1 2 1 2

引用数0的有1篇,引用数1的有2篇,引用数2的有1篇,引用数3的有2篇,输出应该为2(有3(>=2)篇引用数不低于2)

因此,从后往前累加即可

import java.util.Scanner;

public class A {

	public static void main(String[] args) {
		Scanner rd = new Scanner(System.in);
		while (rd.hasNext()) {
			int n = rd.nextInt();
			int sum = 0;
			int[] a = new int[n + 1];
			for (int i = 0; i < a.length; i++) {
				a[i] = rd.nextInt();
			}
			for (int i = a.length - 1; i >= 0; i--) {
				sum += a[i];
				if (sum >= i) {
					System.out.println(i);
					break;
				}
			}
		}
	}
}