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...