Cod sursa(job #2473513)

Utilizator CyborgSquirrelJardan Andrei CyborgSquirrel Data 13 octombrie 2019 18:51:05
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
#include <deque>
#include <vector>

using namespace std;

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

long long sol = 0;
int n, k;

deque<int> deck;
vector<int> veck;

int main(){
	fin >> n >> k;
	int a;
	for(int i = 0; i < n; i++){
		fin >> a;
		veck.push_back(a);
		
		while(!deck.empty() && a < veck[deck.back()]){
			deck.pop_back();
		}
		if(!deck.empty() && i-deck.front() >= k){
			deck.pop_front();
		}
		deck.push_back(i);
		
		if(i >= k-1){
			sol += veck[deck.front()];
		}
	}
	fout << sol;
}