Cod sursa(job #2008830)

Utilizator ruxandramateiMatei Ruxandra ruxandramatei Data 7 august 2017 18:22:28
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#define NMAX 5000001

using namespace std;

ifstream in("deque.in");
ofstream out("deque.out");

int n, k, v[NMAX];
int st, dr;
int coada[NMAX];
long long suma;

void rezolvare(){
  st = 1;
  dr = 0;
  suma = 0;
  for(int i = 1; i <= n; i++){
    while(dr >= st && v[coada[dr]] > v[i]){
      dr--;
    }
    coada[++dr] = i;
    if((i - k) == coada[st]){
      st++;
    }
    if(i >= k){
      suma += v[coada[st]];
    }
  }
}

void citire(){
  in >> n >> k;
  for(int i = 1; i <= n; i++){
      in >> v[i];
  }
}

void afisare(){
  out << suma;
}

int main(){
  citire();
  rezolvare();
  afisare();
}