Cod sursa(job #2908484)

Utilizator vladburacBurac Vlad vladburac Data 3 iunie 2022 20:16:12
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 5e6;

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

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