最大子段和問題。給定由n個整數組成的序列,求序列中子段的最大和,若所有整數均為負整數時定義最大子段和為0。
例如, 當(a1,a2,a3,a4 ,a5,a6) = (-2,11,-4,13,-5,-2)時,最大子段和為: a2+a3+a4=20
輸入格式:
第一行輸入整數個數n(1≤n≤10000),再依次輸入n個整數。
輸出格式:
輸出第一行為最大子段和,第二行為子段第乙個數和最後乙個數在整個序列中的位序。
輸入樣例1:
6-2 11 -4 13 -5 -2
輸出樣例1:
202 4
#include #include#include using namespace std;
int main()
else
if(max<=t)
} if(max<0)
cout<<0《分治法
int maxsub(int a,int l,int r)
sum=0;
r_max=0;
for(i=c+1;i<=r;i++)
sum=r_max+l_max;
if(sumsum=l_sum;
if(sumsum=r_sum;
}return sum;
}
最大欄位和
include include include include include using namespace std 最大欄位和問題描述 給定n個整數 可能為負數 組成的序列a 1 a 2 a 3 a n 求該序列如a i a i 1 a j 的子段和的最大值。當所給的整均為負數時定義子段和為0,...
最大欄位和
1049 最大子段和 難度 基礎題 n個整數組成的序列a 1 a 2 a 3 a n 求該序列如a i a i 1 a j 的連續子段和的最大值。當所給的整數均為負數時和為0。例如 2,11,4,13,5,2,和最大的子段為 11,4,13。和為20。input 第1行 整數序列的長度n 2 n 5...
最大欄位和
題目描述 給出一段序列,選出其中連續且非空的一段使得這段和最大。輸入格式 第一行 是乙個正整數n,表示了序列的長度。第二行 包含n個整數num i 描述了這段序列。輸出格式 第一行 乙個整數,為最大的子段和是多少。第二行 起始位置和終止位置 輸入樣例 72 4 3 1 2 4 3 輸出樣例 43 5...