Cod sursa(job #1423241)

Utilizator tamionvTamio Vesa Nakajima tamionv Data 21 aprilie 2015 16:51:50
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <deque>
using namespace std;

int main(){
	ifstream f("deque.in");
	int n, k, val;
	f >> n >> k;
	deque<int> dq, elemente;
	for(int i = 0; i < k; ++i){
		f >> val;
		while((!dq.empty()) && (dq.back() >= val)){
			dq.pop_back(); }
		dq.push_back(val);
		elemente.push_back(val); }
	int suma = dq.front();
	for(int i = k; i < n; ++i){
		if((!dq.empty()) && dq.front() == elemente.front()){
			dq.pop_front(); }
		elemente.pop_front();
		f >> val;
		elemente.push_back(val);

		while((!dq.empty()) && (dq.back() > val)){
			dq.pop_back(); }
		dq.push_back(val);

		suma += dq.front(); }
	
	ofstream g("deque.out");
	g << suma;
	return 0; }