Cod sursa(job #3214065)

Utilizator vladrochianVlad Rochian vladrochian Data 13 martie 2024 19:02:32
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <deque>
#include <fstream>

using namespace std;

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

int N, K;

deque<pair<int, int>> dq;
int64_t ans;

int main() {
  fin >> N >> K;
  for (int i = 1; i <= N; ++i) {
    int val;
    fin >> val;
    if (!dq.empty() && dq.front().first == i - K) {
      dq.pop_front();
    }
    while (!dq.empty() && val <= dq.back().second) {
      dq.pop_back();
    }
    dq.emplace_back(i, val);
    if (i >= K) {
      ans += dq.front().second;
    }
  }
  fout << ans << "\n";
  return 0;
}