Cod sursa(job #2182364)

Utilizator DanutAldeaDanut Aldea DanutAldea Data 22 martie 2018 12:26:17
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#define x first
#define y second
using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");

int n,k,i,a,b,q;
long long sum;
pair <int,int> v[5000001];

int main(){
    fin>>n>>k;
    a=1;
    fin>>v[1].x;
    v[1].y=1;
    b=1;
    for(i=2;i<=n;i++){
        fin>>q;
        while(b>=a && q<=v[b].x){
            b--;
        }
        b++;
        v[b].x=q;
        v[b].y=i;
        if(v[a].y<=i-k)
            a++;

        if(i>=k){
            sum+=v[a].x;
        }
    }

    fout<<sum;

    return 0;
}