Cod sursa(job #1010968)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 15 octombrie 2013 23:34:31
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<fstream>
#include<deque>
#define dim 5000007
using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");
deque<int>q;
long long s;
int a[dim];
int n,k,i;
int main () {
    f>>n>>k;

    for(i=1;i<=n;++i){
        f>>a[i];
    }


    for(i=1;i<=n;++i){

        while(!q.empty () && a[q.back()] > a[i] ) {
            q.pop_back();
        }
        q.push_back(i);

        if(q.front()==i-k){
                q.pop_front();
        }
        if(i>=k)
            s+=a[q.front()];
    }
    g<<s<<"\n";
    return 0;
}