那么除了原始的求最大字段和外。
还存在一种情况是前面的连续最大值,加上后面的连续最大值。
#include#include #include #include using namespace std; int a[2000002]; int st[1000010]; int ed[1000010]; int main() { int n,i; scanf("%d",&n); for(i=0;i =0;i--) { ed[i]=ed[i+1]+a[i]; } for(i=1;i=0;i--)ed[i]=max(ed[i+1],ed[i]); for(i=0;i