/*
題目描述
輸入n個元素組成的序列s,你需要找出乙個乘積最大的連續子串行,
如果這個最大的乘積不是正數,則輸出-1
輸入輸入包括多組資料,每組資料第一行為正整數n,第二行為n個元素組成的序列
s,1<=n<=18,-10<=si<=10
輸出輸出每組資料的結果後換行
樣例輸入
32 4 -3
52 5 -1 2 -1
樣例輸出820
*/ **如下:
1 #include2using
namespace
std;
3long
long
int max(int *x,intn)4
16}17}
18return
max;19}
20int
main()21
36if(max<0 ) cout<<"-1"
<37else cout3940 }
最大子串行
模板 int maxsubsequence const int a,int n return maxsum 複雜度on 給定k個整數的序列,其任意連續子串行可表示為,其中 1 i j k。最大連續子串行是所有連續子串行中元素和最大的乙個,例如給定序列,其最大連續子串行為,最大和 為20。在今年的資料...
最大子串行
最大子串行是要找出由數組成的一維陣列中和最大的連續子串行。比如的最大子串行就是 它的和是8,達到最大 而 的最大子串行是,它的和是6。你已經看出來了,找最大子串行的方法很簡單,只要前i項的和還沒有小於0那麼子串行就一直向後擴充套件,否則丟棄之前的子串行開始新的子串行,同時我們要記下各個子串行的和,最...
最大子串行
maxsum最大子串行問題。其實是動態規劃問題,遞推式如下 s 1 a 1 s n s n 1 0?s n 1 a n a n 注意點 暴力是可以解決問題,但是時間肯定會超時。暴力就是把所有子串行都查一遍然後找乙個最大的。如序列為123456,它的所有子串行為 1 2 3 4 5 6 12 123 ...