Cod sursa(job #2052906)

Utilizator AlexandruLuchianov1Alex Luchianov AlexandruLuchianov1 Data 31 octombrie 2017 10:25:54
Problema Deque Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>
#include <deque>

using namespace std;
ifstream in ("deque.in");
ofstream out ("deque.out");
int const nmax = 5000000;
int v[1 + nmax];
deque<int> h;

int main()
{
  int n , k;
  in>>n>>k;
  int sum = 0;
  for(int i = 1 ; i <= n ;i++){
    in>>v[i];
    while(0 < h.size() && (v[i] <= v[h.front()] || h.front() <= i - k)){
      h.pop_front();
    }
    h.push_back(i);
    if(k <= i)
      sum += v[h.front()];
  }
  out<<sum;
  return 0;
}