Cod sursa(job #3269414)

Utilizator RosheRadutu Robert Roshe Data 18 ianuarie 2025 23:23:21
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <deque>
#include <fstream>
#include <iostream>

int v[5000006];

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

int main(){
  int n, k;
  in >> n >> k;
  for(int i = 1; i <= n; i++) in >> v[i];
  std::deque<long long> dq;
  long long sum = 0;
  for(int i = 1; i<=n; i++){
    while(dq.size() != 0 && v[i] <= v[dq.back()]) dq.pop_back(); 
    dq.push_back(i);
    if(dq.front() == i-k) dq.pop_front();
    if(i >= k){
    sum += v[dq.front()]; 
    }
  }
  out << sum; 
}