川のブログ

川の適当気ままなブログです。 

AOJ 0516 Maximum Sum

こんにちは川です。

今回は、キューを使って入力された値を保存して、

入力された度に比較を行う形のコードを書きました。

特に難しくはないです。

 

ソースコード

 

#include <bits/stdc++.h>
using namespace std;
 
int main() {
    int n,m;
    while(cin>>n>>m,n,m){
        int ans=0;
        queue<int> que;
        for(int i=0,num;i<m;i++){
            cin>>num;
            que.push(num);
            ans+=num;
        }
        for(int i=m,num,sum=ans-que.front();i<n;i++){
            que.pop();
            cin>>num;
            ans=max(ans,sum+=num);
            sum-=que.front();
            que.push(num);
        }
        cout<<ans<<endl;
    }
}