Cod sursa(job #2205449)

Utilizator berindeiChesa Matei berindei Data 19 mai 2018 10:53:50
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
struct ELEM{
  int nr, poz;
};

deque<ELEM> deck;

int main(){
  long long n, k, i, nr, s=0;
  in >> n >> k;
  for (i=1; i<=n; i++){
    in >> nr;
    while (!deck.empty() && nr<deck.back().nr)
      deck.pop_back();
    deck.push_back({nr, i});
    if (i>=k) s+=deck.front().nr;
    if (deck.front().poz-1==i-k) deck.pop_front();
  }
  out << s;
}