P1115 最大子段和 簡單DP

2022-08-16 01:12:16 字數 805 閱讀 8800

給出一段序列,選出其中連續且非空的一段使得這段和最大。

第一行是乙個正整數nn,表示了序列的長度。

第二行包含nn個絕對值不大於1000010000的整數a_iai​,描述了這段序列。

乙個整數,為最大的子段和是多少。子段的最小長度為11。

輸入 #1複製

7

2 -4 3 -1 2 -4 3

輸出 #1複製

4

【樣例說明】

2,-4,3,-1,2,-4,32,−4,3,−1,2,−4,3中,最大的子段和為4,該子段為3,-1,23,−1,2.

【資料規模與約定】

對於40\%40%的資料,有n ≤ 2000n≤2000。

對於100\%100%的資料,有n ≤ 200000n≤200000。

思路:f[i]表示以i結尾的前i個數字中與第i個數字連續的最大子段和。

如果第i個數字加上f[i-1]變大了,那麼f[i]=f[i-1]+a[i];

否則f[i]=a[i];

#include #include

#include

using

namespace

std;

const

int maxn= 200005

;long

long

f[maxn];

long

long

a[maxn];

intmain()

cout

<< ans

}

P1115 最大子段和

給出一段序列,選出其中連續且非空的一段使得這段和最大。輸入格式 輸入檔案maxsum1.in的第一行是乙個正整數n,表示了序列的長度。第2行包含n個絕對值不大於10000的整數a i 描述了這段序列。輸出格式 輸入檔案maxsum1.out僅包括1個整數,為最大的子段和是多少。子段的最小長度為1。輸...

P1115 最大子段和

給出一段序列,選出其中連續且非空的一段使得這段和最大。輸入格式 輸入檔案maxsum1.in的第一行是乙個正整數n,表示了序列的長度。第2行包含n個絕對值不大於10000的整數a i 描述了這段序列。輸出格式 輸入檔案maxsum1.out僅包括1個整數,為最大的子段和是多少。子段的最小長度為1。輸...

P1115 最大子段和

給出一段序列,選出其中連續且非空的一段使得這段和最大。輸入格式 輸入檔案maxsum1.in的第一行是乙個正整數n,表示了序列的長度。第2行包含n個絕對值不大於10000的整數a i 描述了這段序列。輸出格式 輸入檔案maxsum1.out僅包括1個整數,為最大的子段和是多少。子段的最小長度為1。輸...