描述
給出乙個長度為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個整...