Cod sursa(job #1190353)

Utilizator proflaurianPanaete Adrian proflaurian Data 25 mai 2014 09:24:51
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 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(x[i]);
    }
    for(i=k;i<=n;i++)
    {
        f>>x[i];
        while(q.size()&&x[q.back()]<=x[i])q.pop_back();
        q.push_back(x[i]);
        if(q.front()==i-k)q.pop_front();
        S+=x[q.front()];
    }
    g<<S;

    return 0;
}