Cod sursa(job #2809365)

Utilizator paul911234vaida paul paul911234 Data 26 noiembrie 2021 19:28:25
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <deque>
#include <fstream>
using namespace std;

const int SIZE_N = 5000001;

long long n, k, sets[SIZE_N];

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

int main() {
    fin >> n >> k;
    deque <int> myDeque;
    long long sum = 0;
    for (int i = 1; i <= n; ++i) {
      fin >> sets[i];
       while (!myDeque.empty() && sets[myDeque.back()] >= sets[i]) {
            myDeque.pop_back();
        }
        myDeque.push_back(i);
        if (myDeque.front() == i - k) {
            myDeque.pop_front();
        }
        if (i >= k) {
            sum += sets[myDeque.front()];
        }
    }
    fout << sum;
}