Cod sursa(job #1675763)

Utilizator oanaroscaOana Rosca oanarosca Data 5 aprilie 2016 15:52:52
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>

#include <deque>

using namespace std;

struct nr {
  int poz, val;
}num;

deque<nr> d;
int n, i, k, x;
long long s;

int main () {
  ifstream fi("deque.in");
  ofstream fo("deque.out");
  fi >> n >> k;
  for (i = 1; i <= n; i++){
    fi >> x;
    while(!d.empty() and d.back().val > x)
      d.pop_back();
    num.val = x; num.poz = i;
    d.push_back(num);
    if(d.front().poz < i-k+1)
      d.pop_front();
    if (i >= k)
      s += d.front().val;
   }
  fo << s;
  return 0;
}