Cod sursa(job #3345055)

Utilizator TeodorLuchianovTeo Luchianov TeodorLuchianov Data 7 martie 2026 19:13:43
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <fstream>
#include <queue>

using namespace std;

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

int const NMAX = 5e6;
int arr[1 + NMAX];
deque <int> dq;

int main() {

  long long n, k, ans = 0;
  in >> n >> k;
  for(int i = 1;i <= n;i++) {
    in >> arr[i];
    while(!dq.empty() && arr[i] < arr[dq.back()]) {
      dq.pop_back();
    } 
    while(!dq.empty() && dq.front() <= i-k) {
      dq.pop_front();
    }
    dq.push_back(i);
    if(i >= k) {
      ans += arr[dq.front()];
    } 
  }
  out << ans << '\n';
  return 0;
}