Cod sursa(job #1985464)

Utilizator rares96cheseliRares Cheseli rares96cheseli Data 27 mai 2017 22:26:51
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <bits/stdc++.h>
using namespace std;

#define NMAX 5000005

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

int N, K, a[NMAX];
long long sol;
deque < int > Q;

int main() {
    f >> N >> K;
    for (int i = 1; i <= N; ++i) {
        f >> a[i];

        while (a[i] <= a[Q.back()]) {
            Q.pop_back();
        }

        Q.push_back(i);

        if (i - Q.front() >= K) {
            Q.pop_front();
        }

        if (i >= K) {
            sol += 1LL * a[Q.front()];
        }
    }

    g << sol << '\n';
    return 0;
}