sjtu 1006 求和遊戲

2021-06-29 00:38:52 字數 474 閱讀 3899

c++程式編寫

該命題可以看做是求陣列的最大子陣列問題,且最大子陣列中元素最小個數人為2(即最大子陣列元素的個數不能為1):

#include using namespace std;

int main()

bool flag = true;

for (int i = 0; i < n; i++)

if (result == *(pi + i))

if (!flag)

cout << "game over" << endl;

else if (result >= 0)

cout << result << endl;

else

cout << "game over" << endl;

deletepi;

return 0;

}

陣列的最大子陣列問題可參考:

1006 求和遊戲

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

1006 求和遊戲

這道題目和最大連續子串行不同的是,要求子串行至少包含兩個元素。用 sum i 表示sigma,即字首和 用 m i min m 0 0 這樣 sum i m i 2 就表示以 i 結尾的至少包含兩個元素的最大連續子串行和,所以問題可以表示為求 ans min 1 include 2 3 define...

1006 求和遊戲

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