Cod sursa(job #3031620)

Utilizator annna7Pecheanu Anna annna7 Data 20 martie 2023 14:29:06
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <deque>
#define NMAX 5000000

using namespace std;

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

int N, K;
long long answer;
int arr[NMAX];
deque<int> D;

int main()
{
    fin >> N >> K;
    for (int i = 0; i < N; ++i) {
        fin >> arr[i];
    }

    answer = 0;

    for (int i = 0; i < N; ++i) {
        while (!D.empty() && arr[D.back()] >= arr[i]) {
            D.pop_back();
        }
        D.push_back(i);
        if (i >= K - 1) {
            answer += arr[D.front()];
            if (D.front() == i - K + 1) {
                D.pop_front();
            }
        }
    }

    fout << answer << '\n';
    return 0;
}