第1行:整数序列的长度N(2 <= N <= 50000)第2 - N+1行:N个整数 (-10^9 <= S[i] <= 10^9)Output输出循环数组的最大子段和。Input示例6-211-413-5-2Output示例20
#include<cstdio>#include<iostream>using namespace std;int main(){ int n,t; long long maxx=0,s=0,sum=0,s1=0,max1=0; scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&t); sum+=t; if(s+t>0){ s+=t; maxx=max(maxx,s); } else s=0; if(s1-t>0){ s1-=t; max1=max(max1,s1); } else s1=0; } maxx=max(maxx,sum+max1); PRintf("%lld/n",maxx); return 0;}
新闻热点
疑难解答