題目:HOHO,終於從Speakless手上贏走了所有的糖果,是Gardon吃糖果時有個特殊的癖好,就是不喜歡將一樣的糖果放在一起吃,喜歡先吃一種,下一次吃另一種,這樣;可是Gardon不知道是否存在一種吃糖果的順序使得他能把所有糖果都吃完?請你寫個程序幫忙計算一下。
輸入:第一行有一個整數T,接下來T組數據,每組數據佔2行,第一行是一個整數N(0 輸出:對於每組數據,輸出一行,包含一個"Yes"或者"No"。 程序: #include int main(void) { int t, n, mi, max, i; long long sum; scanf("%d", &t); while(t--) { scanf("%d", &n); sum = 0; max = 0; for(i=1; i<=n; i++) { scanf("%d", &mi); sum += mi; max = (mi > max) ? mi : max; } printf("%s\n", (max > sum - max + 1) ? "No" : "Yes"); } return 0; } 提示:如果各種糖果的最大值大於總和的一半,那麼答案就是No。否則就是Yes。
閱讀更多 編程藝術 的文章