1006 求和遊戲

2022-01-17 10:21:18 字數 554 閱讀 7161

這道題目和最大連續子串行不同的是,要求子串行至少包含兩個元素。

用 sum[i] 表示sigma,即字首和

用 m[i] = min , m[0] = 0

這樣 sum[i]-m[i-2] 就表示以 i 結尾的至少包含兩個元素的最大連續子串行和,所以問題可以表示為求 ans = min

1 # include 2

3 # define inf 10545

intn, x, tmp;67

intcursum, minsum;

8int

ans;910

int min(int x, int y)

11int max(int x, int y)

1213

intmain()

1426

27if (ans > 0) printf("

%d\n

", ans);

28else printf("

game over\n");

2930

return0;

31 }

1006 求和遊戲

石柱上有一排石頭鍵盤,每個鍵上有乙個整數。請你在鍵盤上選擇兩個鍵,使這兩個鍵及其之間的鍵上的數字和最大。如果這個最大的和不為正,則輸出 game over 第1行 鍵的個數n。第2.n 1行 鍵上的數字整數 ai ai。100 ai 100 100 ai 100 對於70 的資料,2 n 1,000...

1006 求和遊戲

石柱上有一排石頭鍵盤,每個鍵上有乙個整數。請你在鍵盤上選擇兩個鍵,使這兩個鍵及其之間的鍵上的數字和最大。如果這個最大的和不為正,則輸出 game over 第1行 鍵的個數n。第2.n 1行 鍵上的數字整數 a i ai 100 a i 100 100 ai 100 對於70 的資料,2 n 1,0...

sjtu 1006 求和遊戲

c 程式編寫 該命題可以看做是求陣列的最大子陣列問題,且最大子陣列中元素最小個數人為2 即最大子陣列元素的個數不能為1 include using namespace std int main bool flag true for int i 0 i n i if result pi i if fl...