石柱上有一排石頭鍵盤,每個鍵上有乙個整數。請你在鍵盤上選擇兩個鍵,使這兩個鍵及其之間的鍵上的數字和最大。如果這個最大的和不為正,則輸出「game over"。
第1行:鍵的個數n。
第2..n+1行:鍵上的數字整數 ai
ai。−100≤ai≤100
−100≤ai≤100
對於70%的資料,2≤n≤1,000
2≤n≤1,000
對於100%的資料,2≤n≤1,000,000
2≤n≤1,000,000
一行,最大和或者」game over"。
53-57-28
13
3-6-9
-10
game over
解
#include #includeusing
namespace
std;
int s[1000001] = ;
intmain()
int min = s[0
];
int min_flag = 0
;
int max = s[1
];
for (int i = 1; i < n; i++)
if (i - min_flag > 1 && s[i] - min >max)
max = s[i]-min;
}if(max <= 0
) cout
<< "
game over";
else
cout
}
posted @
2019-05-15 16:13
路迢迢 閱讀(
...)
編輯收藏
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...
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...