Cod sursa(job #1936338)

Utilizator SirbuSirbu Ioan Sirbu Data 23 martie 2017 00:31:30
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <deque>

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

deque < int > deq;
int v[5000002];


int main (){

  int n,k;
  fin >> n >> k;
  for (int i = 1; i <= n; ++i)
    fin >> v[i];
  long long s = 0;

  for (int i = 1; i <= n; ++i){
      while (!deq.empty() && deq.front() <= i-k)
        deq.pop_front();

    while (!deq.empty() && v[i]<=v[deq.back()])
      deq.pop_back();
    deq.push_back(i);
    if (i>=k) {
      s += v[deq.front()];
    }
}
  fout << s;
  return 0;
}