Cod sursa(job #3234198)

Utilizator Toni07Stoica Victor Toni07 Data 6 iunie 2024 22:25:36
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
#include <deque>

using namespace std;

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

const int nmax = 5e6 + 5;

deque<int> dq; // retin pozitii
int a[nmax], n, k;

int main() {
    long long sum = 0;
    f >> n >> k;
    for(int i = 1; i <= n; ++i) {
      f >> a[i];
      while(!dq.empty() && a[dq.back()] >= a[i])dq.pop_back();
      dq.push_back(i);
      if(dq.front() <= i - k)dq.pop_front();
      if(i >= k) sum += a[dq.front()];
    }
    g << sum << "\n";
}