Cod sursa(job #2540371)

Utilizator Oana024Oana Mocanu Oana024 Data 7 februarie 2020 09:14:10
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

int a[5000001], d[5000001], poz[5000001];

int main(){
    int pr, ul, i, x, k, n, s=0;

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

    pr=0;
    ul=-1;
    for(i=1; i<=k; i++)
    {
        x=a[i];
        while(pr<=ul && d[ul]>=x) ul--;
        d[++ul]=x;
        poz[ul]=i;
    }

    s=d[pr];

    for(i=k+1; i<=n; i++)
    {
        x=a[i];
        while((d[ul]>=x) && (pr<=ul)) ul--;
        d[++ul]=x;
        poz[ul]=i;
        if(poz[pr]<=i-k) pr++;
        s+=d[pr];
    }

    g<<s;
}//problema facuta de dan pracsiu e gresita
//l-am  corectat pe dan pracsiu