最大序列和

2021-10-02 15:34:03 字數 904 閱讀 7378

給出乙個整數序列s,其中有n個數,定義其中乙個非空連續子串行t中所有數的和為t的「序列和」。 對於s的所有非空連續子串行t,求最大的序列和。 變數條件:n為正整數,n≤1000000,結果序列和在範圍(-2^63,2^63-1)以內。

第一行為乙個正整數n,第二行為n個整數,表示序列中的數。
輸入可能包括多組資料,對於每一組輸入資料,

僅輸出乙個數,表示最大序列和。

示例1

複製

5

1 5 -3 2 4

61 -2 3 4 -10 6

4-3 -1 -2 -5

複製

9

7-1

思路 : 

#include #include #include #include #include #include using namespace std ;

typedef long long ll;

const ll inf = 0x3f3f3f3f3f3f3f3f;

const ll maxn = 1e18+999 ;

const int max = 1000010 ;

int n ;

ll a[max] ;

ll sum = 0 ;

ll ans = -inf ;

// 非空連續和最大

int main ()

if(flag)

for(int i = 1 ;i<=n; i++ )

ans = max(ans,sum) ;

} if(flag) ;

cout

}

最大序列和

輸入描述 第一行為乙個正整數n,第二行為n個整數,表示序列中的數。輸出描述 輸入可能包括多組資料,對於每一組輸入資料,僅輸出乙個數,表示最大序列和。輸入例子 5 1 5 3 2 4 61 2 3 4 10 6 4 3 1 2 5輸出例子 9 7 1 include using namespace s...

最大序列和

給出乙個整數序列s,其中有n個數,定義其中乙個非空連續子串行t中所有數的和為t的 序列和 對於s的所有非空連續子串行t,求最大的序列和。變數條件 n為正整數,n 1000000,結果序列和在範圍 2 63,2 63 1 以內。第一行為乙個正整數n,第二行為n個整數,表示序列中的數。輸入可能包括多組資...

最大序列和

給出乙個整數序列s,其中有n個數,定義其中乙個非空連續子串行t中所有數的和為t的 序列和 對於s的所有非空連續子串行t,求最大的序列和。變數條件 n為正整數,n 1000000,結果序列和在範圍 2 63,2 63 1 以內。第一行為乙個正整數n,第二行為n個整數,表示序列中的數。輸入可能包括多組資...