問題求解與程式設計 實驗二 F 最大連續和

2021-08-20 10:58:34 字數 1007 閱讀 6081

描述

給出乙個長度為n的序列a1,a2,...,an,求最大連續和。也就是找到i和j,1<=i<=j<=n,使得ai+(ai+1)+...+aj盡量大,輸出最大值。 輸入

輸入包含多組資料,每組資料第一行輸入乙個正整數n,表示序列元素個數。1 <= n <= 1000。

第二行輸入序列的n個整數。-1000 <= ai <= 1000。

輸出 對應每組資料,輸出乙個結果,輸出序列的最大連續和。

樣例輸入1

6

-2 5 -1 6 0 -4

樣例輸出1

10

樣例輸入2

3

-1 -2 -3

樣例輸出2

-1

提示 序列的最大連續和為 5 + (-1) + 6 = 10。

大資料不超過10組。

——————————————————————————————————————————

最大連續和也是不能再經典的問題了

當初還是被如何一段一段去比較而煩心著呢...如果根據原始暴力的方法肯定過不了,所以就儲存從第乙個元素開始到最後乙個的字段

#include#include#include#includeusing namespace std;

int a[1010], n;

int b[1010],max;

int main()

cout<

以下是標程:

#include#includeusing namespace std;

int main()

{ //freopen("data.in","r",stdin);

int n;

while(scanf("%d",&n)!=eof)

{int sum,minn=0,ans,p;

scanf("%d",&p);

sum=ans=p;

for(int i=1;i標程的解法是找到最小的連續和,然後比較,我是真的想不到

求解最大連續子串行和問題

解法1 maxsubsum1 a,n 演算法中用三重迴圈來窮舉所有的連續子串行,計算它們的和,時間複雜度為t n o n 3 1 long maxsubsum1 int a,intn 2 14if thissum maxsum maxsum thissum 15 16 17return maxsum...

蠻力法求解最大連續子串行和問題

給定乙個有n n 1 個整數的序列,要求求出其中最大連續子串行的和。例如 序列 2,11,4,13,5,2 的最大子串行和為20 序列 6,2,4,7,5,3,2,1,6,9,10,2 的最大子串行和為16。規定乙個序列最大連續子串行和至少是0 看成0個元素構成的子串行 如果小於0,其結果為0。設含...

蠻力法 求解最大連續子串行和問題

題目 給定乙個有n n 1 個整數的序列,求解其中最大連續子串行的和。規定乙個序列的最大子串行和至少為0,若結果小於0,則其結果為0 例 序列 2,11,4,13,5,2 的最大子串行和為20 序列 6,2,4,7,5,3,2,1,6,9,10,2 的最大子串行和為16。思路一 窮舉法 設含有n個整...