時間限制:1000 ms | 記憶體限制:65535 kb
難度:3
描述下雨了,下雨了,螞蟻搬家了。
已知有n種食材需要搬走,這些食材從1到n依次排成了乙個圈。小螞蟻對每種食材都有乙個喜愛程度值vi,當然,如果vi小於0的時候,表示螞蟻討厭 這種食材。因為馬上就要下雨了,所以螞蟻只能搬一次,但是能夠搬走連續一段的食材。時間緊急,你快幫幫小螞蟻吧,讓它搬走的食材喜愛值和最大。
輸入有多組測試資料(以eof結尾)。
每組資料有兩行,第一行有乙個n,表示有n種食材排成了乙個圈。(1 <= n<= 50000)
第二行分別有n個數,代表螞蟻對第n種食材的喜愛值vi。(-10^9 <= vi <= 10^9)
輸出輸出小螞蟻能夠搬走的食材的喜愛值總和的最大。
樣例輸入
3樣例輸出3 -1 2
5-8 5 -1 3 -9
5這題是最大欄位和的變形,關鍵的地方是資料可以迴圈,分兩步解決:7
第一步,求出這組資料的首尾不迴圈的最大欄位和s1
第二步,這個可以在第一步的時候,求出他的最小字段和s2,還有全部資料之和s,那麼,根據題目的要求,將s1與s-s2的值比較就可以得到最後的結果。
1 #include2#define max(x,y) x>y?x:y
3#define min(x,y) x>y?y:x
4long
long arr[200001];5
int main()
21if(result<0)result=0
;22 printf("
%lld\n
",result);}
23return0;
24 }
時間限制:1000 ms | 記憶體限制:65535 kb
難度:4
描述給定乙個由n個整數元素組成的陣列arr,陣列中有正數也有負數,這個陣列不是一般的陣列,其首尾是相連的。陣列中乙個或多個連 續元素可以組成乙個子陣列,其中存在這樣的子陣列arr[i],…arr[n-1],arr[0],…,arr[j],現在請你這個acm_lover用 乙個最高效的方法幫忙找出所有連續子陣列和的最大值(如果陣列中的元素全部為負數,則最大和為0,即乙個也沒有選)。
輸入輸入包含多個測試用例,每個測試用例共有兩行,第一行是乙個整數n(1=輸出
對於每個測試用例,請輸出子陣列和的最大值。
樣例輸入
6樣例輸出1 -2 3 5 -1 2
56 -1 5 4 -7
1014兩題**一樣。。。
NYOJ 983 首尾相連陣列的最大子陣列和
時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述給定乙個由n個整數元素組成的陣列arr,陣列中有正數也有負數,這個陣列不是一般的陣列,其首尾是相連的。陣列中乙個或多個連續元素可以組成乙個子陣列,其中存在這樣的子陣列arr i arr n 1 arr 0 arr j 現在請你這個...
NYOJ 983 首尾相連陣列的最大子陣列和
時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 給定乙個由n個整數元素組成的陣列arr,陣列中有正數也有負數,這個陣列不是一般的陣列,其首尾是相連的。陣列中乙個或多個連續元素可以組成乙個子陣列,其中存在這樣的子陣列arr i arr n 1 arr 0 arr j 現在請你這...
九度 1527 首尾相連陣列的最大子陣列和
題目描述 給定乙個由n個整數元素組成的陣列arr,陣列中有正數也有負數,這個陣列不是一般的陣列,其首尾是相連的。陣列中乙個或多個連續元素可以組成乙個子陣列,其中存在這樣的子陣列arr i arr n 1 arr 0 arr j 現在請你這個acm lover用乙個最高效的方法幫忙找出所有連續子陣列和...