Cod sursa(job #3208838)

Utilizator Traian_7109Traian Mihai Danciu Traian_7109 Data 1 martie 2024 10:41:17
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>
#warning sunt pe onlinegdb

using namespace std;

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

const int nmax = 5e6;
int v[5 + nmax];

int main() {
    int n, k;
    fin >> n >> k;
    deque<int> deq;
    long long sum = 0;
    for (int i = 0; i < n; i++) {
        if (i >= k) {
            int curans = deq.front();
            if (curans == v[i - k]) {
                deq.pop_front();
            }
            sum += curans;
        }
        fin >> v[i];
        while (!deq.empty() && deq.back() > v[i]) {
            deq.pop_back();
        }
        deq.push_back(v[i]);
    }
    sum += deq.front();
    fout << sum << '\n';
    return 0;
}