Cod sursa(job #1386206)

Utilizator razboi4Manole Iulian razboi4 Data 12 martie 2015 20:03:55
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<bits/stdc++.h>
using namespace std;
int N, K, el;
long long SOL;
deque < pair < int, int > > D;
int main()
{
    freopen("deque.in", "r", stdin);
    scanf("%d %d", &N, &K);
    for(int i = 1; i <= N; ++ i) {
        scanf("%d", &el);
        for( ; D.size() && D.back().first > el ; D.pop_back()) ;
        D.push_back(make_pair(el, i));
        if(i - D.front().second >= K)
            D.pop_front();
        if(i >= K)
            SOL += (long long)D.front().first;
    }
    fprintf(fopen("deque.out", "w"), "%lld", SOL);
    return 0;
}