Cod sursa(job #1047350)

Utilizator Aleks10FMI - Petrache Alex Aleks10 Data 4 decembrie 2013 11:45:32
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>

using namespace std;
long long s;
int bc,fr,a[5000005],n,k,i,x,deq[5000005];
int main()
{

    ifstream f("deque.in");
    ofstream g("deque.out");
    f>>n>>k;
    for(i=1;i<=n;i++){
        f>>a[i];
    }

    int 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;
}