题目:
题意分析:(多项式解读) 有一个多项式,多项式有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; }