Cod sursa(job #2737940)

Utilizator Ilie_MityIlie Dumitru Ilie_Mity Data 5 aprilie 2021 12:33:50
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
//Ilie Dumitru
#include<cstdio>
#include<deque>

int A[5000005];

int main()
{
    freopen("deque.in", "r", stdin);
    freopen("deque.out", "w", stdout);
    std::deque<int> dq;
    int i, N, K;
    long long int s=0;
    scanf("%i%i", &N, &K);
    for(i=0;i<N;++i)
        scanf("%i", &A[i]);
    fclose(stdin);
    for(i=0;i<N;++i)
    {
        while(!dq.empty() && A[dq.back()]>A[i])
            dq.pop_back();
        dq.push_back(i);
        if(dq.front()==i-K)
            dq.pop_front();
        if(i+1>=K)
            s+=A[dq.front()];
    }
    printf("%lli", s);
    fclose(stdout);
    return 0;
}