Cod sursa(job #1190359)

Utilizator proflaurianPanaete Adrian proflaurian Data 25 mai 2014 10:04:51
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <deque>
#define N 5000005
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,i,x[N];
deque<int> q;
long long S;
int main()
{
    f>>n>>k;
    for(i=1;i<k;i++)
    {
        f>>x[i];
        while(q.size()&&x[q.back()]>=x[i])q.pop_back();
        q.push_back(i);
    }
    for(i=k;i<=n;i++)
    {
        f>>x[i];
        while(q.size()&&x[q.back()]>=x[i])q.pop_back();
        q.push_back(i);
        if(q.front()==i-k)q.pop_front();
        S+=x[q.front()];
    }
    g<<S;

    return 0;
}