Cod sursa(job #2825320)

Utilizator david_octavianoctavian david_octavian Data 4 ianuarie 2022 15:44:03
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>

#include <deque>



using namespace std;



ifstream fin( "deque.in" );

ofstream fout( "deque.out" );



const int NMAX = 5e6;

int v[NMAX + 2];

deque <int> dq;



signed main() {

  #define int long long

  int n, k, i, s;

  fin >> n >> k;

  for( i = 1; i <= n; ++i )

    fin >> v[i];



  s = 0;

  for( i = 1; i <= n; ++i ){

    while( !dq.empty() && v[i] <= v[dq.back()] )

      dq.pop_back();

    dq.push_back(i);

    if( dq.front() == i - k )

      dq.pop_front();

    if( i >= k )

      s += v[dq.front()];

  }

  fout << s;

  return 0;

}