Cod sursa(job #3234824)

Utilizator iusty64Iustin Epanu iusty64 Data 11 iunie 2024 22:13:33
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <bits/stdc++.h>
#include <deque>
using namespace std;
deque<int> dq;
const int Vmax = 5e6+1;
ifstream fin("deque.in");
ofstream fout("deque.out");
int a[Vmax];
int main(){
  int n, k;
	fin >> n >> k;
	long long suma = 0;
	for(int i = 1; i <= n; i++){
		fin >> a[i];
		while(!dq.empty() && a[dq.back()] >= a[i]){
			dq.pop_back();
		}
		dq.push_back(i);
		if(dq.front() <= i - k){
			dq.pop_front();
		}
		if(i >= k){
			suma += a[dq.front()];
		}
	}
	fout << suma;
	return 0;
}