24h購物| | PChome| 登入
2013-12-05 15:47:00| 人氣1,637| 回應0 | 上一篇 | 下一篇

[UVA][Easy] 12650 - Dangerous Dive

推薦 0 收藏 0 轉貼0 訂閱站台

SampleInput
5 3
3 1 5
6 6
6 1 3 2 5 4
SampleOutput
2 4
*


連續最大和問題 O(n)

#include <sstream>
#include <stdio.h>
#include <algorithm>
using namespace std;
char s[1048576];
int main() {
    while(gets(s)) {
        stringstream sin(s);
        int ret = 0, sum = 0, x;
        while(sin >> x) {
            sum += x;
            if(sum < 0)    sum = 0;
            ret = max(ret, sum);
        }
        printf("%d\n", ret);
    }
    return 0;
}

台長: Morris
人氣(1,637) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 教育學習(進修、留學、學術研究、教育概況) | 個人分類: UVA |
此分類下一篇:[UVA] 12643 - Tennis Rounds
此分類上一篇:[UVA][Easy] 12650 - Dangerous Dive

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文