A. Easy h-index(阅读理解题目)

A. Easy h-index

错误理解:看题目第一眼,水题,只要输入的时候统计下数据,if(a[i] >= i ) 就可以,wa了2发。

正确理解:h-index又称为h指数或h因子(h-factor),是一种评价学术成就的新方法。h代表“高引用次数”(high citations),一名科研人员的h指数是指他至多有h篇论文分别被引用了至少h次。
也就是说h为100,这个人就有100篇论文至少引用了100次。

题解:他要求最大h,所以我们从大到小遍历,遍历的每一个数都加起来,判断总和是不是大于等于i(i是数组下标),如果大于就结束了,输出i;否则继续累加。

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
typedef long long ll; 
const int maxn=1e6+10;
ll a[maxn];
int main()
{
	ios::sync_with_stdio(false);
	ll  m;
	while(cin>>m)
	{
		for(ll i=0;i<=m;i++)
		{
			cin>>a[i];
		}
		ll sum=0;
		for(int i=m;i>=0;i--)
		{
			sum+=a[i];
			if(sum>=i)
			{
				cout<<i<<endl;
				break;
			}
		}
	}
	
	return 0;
 } 
发布了88 篇原创文章 · 获赞 30 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43667611/article/details/101926180