資訊學奧賽一本通 1305 Maximum sum

2021-10-12 02:24:58 字數 890 閱讀 6689

【題目描述】

對於給定的整數序列a=,找出兩個不重合連續子段,使得兩子段中所有數字的和最大。我們如下定義函式 d(a):

d(a)=max1≤s1≤t1【輸入】

第一行是乙個整數t(≤30),代表一共有多少組資料。

接下來是t組資料。

每組資料的第一行是乙個整數,代表資料個資料n(2≤n≤50000) ,第二行是n個整數a1,a2,…,an(|ai|≤10000)。

【輸出】

輸出乙個整數,就是d(a)的值。

【輸入樣例】110

1 -1 2 2 3 -3 4 -4 5 -5

【輸出樣例】

13【心得】

正向來一遍,算出開頭到當前元素之間的最大連續子段和;反著再來一遍,算出從當前元素開始至結尾的最大連續子段和。再正著來一遍,求兩者和的最大即可。

【ac**】

#include

#include

#include

using

namespace std;

const

int inf=

0x7fffffff

;const

int n=

50005

;int a[n]

,f[n]

,g[n]

,m[n]

;int

main()

ans=

-inf;

for(

int i=n;i>

0;i--

) cout<

}return0;

}

資訊學奧賽一本通 小球(drop)

許多的小球乙個乙個的從一棵滿二叉樹上掉下來組成fbt full binary tree,滿二叉樹 每一時間,乙個正在下降的球第乙個訪問的是非葉子節點。然後繼續下降時,或者走右子樹,或者走左子樹,直到訪問到葉子節點。決定球運動方向的是每個節點的布林值。最初,所有的節點都是false,當訪問到乙個節點時...

資訊學奧賽一本通 小球(drop)

this drop is gonna last forever!許多的小球乙個乙個的從一棵滿二叉樹上掉下來組成fbt full binary tree,滿二叉樹 每一時間,乙個正在下降的球第乙個訪問的是非葉子節點。然後繼續下降時,或者走右子樹,或者走左子樹,直到訪問到葉子節點。決定球運動方向的是每個...

資訊學奧賽一本通(C 版)

資訊學奧賽一本通 c 版 總目錄 1.資訊學奧賽一本通 c 版 刷題 記錄 2.資訊學奧賽一本通 c 版 第一部分 c 語言 第一章 c 語言入門 3.資訊學奧賽一本通 c 版 第一部分 c 語言 第二章 順序結構程式設計 4.資訊學奧賽一本通 c 版 第一部分 c 語言 第三章 程式的控制結構 5...