Cod sursa(job #1818495)

Utilizator cameleonGeorgescu Dan cameleon Data 29 noiembrie 2016 12:42:46
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
    #include <fstream>
    using namespace std;
    ifstream fin("deque.in");
    ofstream fout("deque.out");
    int n,k,a[5000002],dq[5000002];
    long long s;
    int main () {
        int i,p=1,u=0;
        fin>>n>>k;
        for( i=1;i<=n;i++)
            fin>>a[i];
        for(i=1;i<=k;i++){
            while(p<=u && a[dq[u]]>=a[i]) u--;
            dq[++u]=i;
        }
        s=a[dq[p]];

        for(i=k+1;i<=n;i++){
            if(i-dq[p]>=k)p++;
            while(p<=u && a[dq[u]]>=a[i]) u--;
            dq[++u]=i;
            s+=a[dq[p]];
        }

        fout<<s;

    return 0;
    }