Cod sursa(job #2808509)

Utilizator daria_stoianStoian Daria Alexandra daria_stoian Data 25 noiembrie 2021 11:20:15
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#define N 5000000
int v[N], dq[N];
using namespace std;

int main(){
  ifstream fin( "deque.in" );
  ofstream fout( "deque.out" );
  int n, k, i, st, dr;
  long long sum;
  fin >> n >> k;
  st = sum = 0;
  dr = -1;
  for ( i = 0; i < n; i ++ ){
      fin >> v[i];
      if ( dq[st] == i - k )
          st ++;
      while ( st <= dr &&  v[i] <= v[ dq[dr] ] ){
          dr --;
      }
      dq[++dr] = i;
      if ( i >= k - 1 ){
          sum += v[dq[st]];
      }
  }
  fout << sum;
  fin.close();
  fout.close();
  return 0;
}