2018 湘潭邀请赛 A.2018

题目:




题意分析:(多项式解读)

有一个多项式,多项式有0,1,2,……,n次项共n+1项,
第一行给出 n
第二行给出 a0,a1,a2……an 共n+1个数, ai 表示第i次项,即 x^i 项的系数。
求最大的h,幂次超过h的项的系数和不少于h,
即 ah * x^h + a(h+1) * x^(h+1) + …… + an * x^n 中的 
(ah + a(h+1) + a(h+2)+……+an >= h)


思路:
从大到小,循环求解一遍


#include <iostream>
#include <cstdio>
using namespace std;
#define LL long long
#define N 200005
int cit[N];


int main()
{
    int n;
    while(~scanf("%d",&n)) {
    	for(int i=0;i<=n;i++) { 
			scanf("%d",&cit[i]);
		} 
		//从n次项 到 i次项 的 累计系数和
    	LL sum = 0;  
		for(int i=n;i>=0;i--) {
			sum += cit[i];
			//(ah + a(h+1) + a(h+2)+……+an >= h) 即为答案
			if(sum >= i) {  
				printf("%d\n",i);
				break;
			}
		}
    }
	return 0;
}




猜你喜欢

转载自blog.csdn.net/jxufe_acmer/article/details/80331123