Cod sursa(job #1047349)

Utilizator Aleks10FMI - Petrache Alex Aleks10 Data 4 decembrie 2013 11:43:29
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>

using namespace std;
long long bc,fr,a[5000005],n,k,i,x,deq[5000005],s;
int main()
{
    ifstream f("deque.in");
    ofstream g("deque.out");
    f>>n>>k;
    for(i=1;i<=n;i++){
        f>>a[i];
    }

    long long back=0,front=1;
    for(i=1;i<=n;i++){
        while(back>=front && a[i]<a[deq[back]]){
            back--;
        }
        back++;
        deq[back]=i;
        //cout<<deq[front];
        if(deq[front]==i-k){
            front++;
        }

        if(i-k+1>0)
            s+=a[deq[front]];
            //cout<<a[deq[front]]<<" ";
        //cout<<front<<" "<<back<<" "<<deq[front]<<" "<<deq[back]<<'\n';
    }
    g<<s;
    return 0;
}