上公升子串行 求和最大值

2021-09-25 20:12:54 字數 706 閱讀 1082

problem description

乙個只包含非負整數的序列bi,當b1 < b2 < … < bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列,我們可以得到一些上公升的子串行,這裡1 ≤ i1 < i2 <…< ik ≤ n。例如:對於序列,有它的一些上公升子串行,如, 等等。這些子串行中序列和最大的是子串行,它的所有元素的和為18。

對於給定的乙個序列,求出它的最大的上公升子串行的和。

注意:最長的上公升子串行的和不一定是最大的哦。

input

輸入包含多組測試資料,對於每組測試資料:

輸入資料的第一行為序列的長度 n(1 ≤ n ≤ 1000),

第二行為n個非負整數 b1,b2,…,bn(0 ≤ bi ≤ 1000)。

output

對於每組測試資料,輸出其最大上公升子串行的和。

sample input

71 7 3 5 9 4 8

sample output

#include#include#includeusing namespace std;

int main()

,b[1010];

while(cin>>n)

}sum=max(sum,s[i]);

} cout

} return 0;

}

2958 求上公升子串行和的最大值

單點時限 2.0 sec 記憶體限制 256 mb 由非負整數 bi 0 i乙個長度為 n 的序列 a0,a1,an 1,存在多種上公升子串行 ai0,ai1,aik 0 i0例如 序列 1,7,3,5,9,4,8 的上公升子串行有 1,7 3,5,8 1,3,5,9 等。這些上公升子串行中序列和最...

最大上公升子串行

int lis int arr,int idx,int upper 初始化為上乙個idx上界為upper int ans lis arr,idx 1,upper if arr idx upper 如果可以,調整上界 ans max ans,lis arr,idx 1,arr idx 1 return...

求連續子串行的最大值

問題描述 有一串數字 可正可負的int,放在陣列num裡 要求找到起始位置start和終止位置end,使得從start位置到end位置的所有數字之和最大,返回這個最大值max。演算法思想 使用動態規劃。設 f x 為以 a x 終止且包含 a x 的最大序列的和,有 f 1 a 1 f x 1 f ...