baru003のブログ

baruの雑記兼備忘録

AOJ 0516

・問題リンク Maximum Sum

・コメント
はじめ問題文を読み違え桁を間違えていた結果1時間も悩まされました()


・ソース

#include<iostream>
using namespace std;

int main()
{
    long value[100000];
    long temp;
    long ans;
    long n,c;
    while(true){
        //入力設定
        cin>>n>>c;
        //終了判定
        if(n==0&&c==0)break;
        //入力
        for(int i=0;i<n;i++){
            cin>>value[i];
        }
        //はじめのc個までの値を辻褄合わせで保持
        temp=0;
        for(int i=0;i<c;i++)temp=temp+value[i];
        ans=temp;
        //2重でTLEなので
        int i;
        int j;
        for(i=0,j=c;j<n;i++,j++){
            temp=temp-value[i];
            temp=temp+value[j];
            if(temp>ans)ans=temp;
        }
        //出力
        cout<<ans<<endl;
    }
    return 0;
}