Cod sursa(job #2738447)

Utilizator bogdanvladmihaiBogdan Vlad-Mihai bogdanvladmihai Data 5 aprilie 2021 20:53:56
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>

using namespace std;

#define int long long

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

const int max_n = (int)5e6 + 5;

int n, k;

deque<int> dq;

int v[max_n];

int ans;

int32_t main() {
  in >> n >> k;
  for (int i = 1; i <= n; i++) {
    in >> v[i];
    while ((int)dq.size() > 0 && v[dq.front()] >= v[i]) {
      dq.pop_front();
    }
    dq.push_front(i);
    if (i >= k) {
      ans += v[dq.back()];
    }
    if ((int)dq.size() > 0 && dq.back() <= i - k + 1) {
      dq.pop_back();
    }
  }
  out << ans << "\n";
  return 0;
}