Cod sursa(job #2728313)

Utilizator andre.anghelacheAndreea Anghelache andre.anghelache Data 23 martie 2021 00:34:32
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
using namespace std;

int A[5000001], mydeque[5000001];


int main() {

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

    int N, K, x, inc=1, sf=0;
    long long suma=0;
    in>>N>>K;

    for(int i=1; i<N+1; i++)
    {
        in>>x;
        A[i]=x;
    }

    for(int i=1; i<N+1; i++)
    {
        while(inc<=sf && A[i]<=A[mydeque[sf]])
            sf--;
        mydeque[++sf]=i;

        if(mydeque[inc]==i-K)
            inc++;

        if(i>=K)
            suma+=A[mydeque[inc]];
    }

    out<<suma;
    in.close();
    out.close();
    return 0;
}