Cod sursa(job #1553411)

Utilizator geni950814Geni Geni geni950814 Data 19 decembrie 2015 19:43:22
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
#include <deque>
#include <iostream>

using namespace std;

const int MAX = 5000005;
int N, K, V[MAX];

int main() {
	ifstream f("deque.in");
	ofstream g("deque.out");
	long long sum = 0;
	f >> N >> K;
 	
	deque<int> deque;
	for(int i = 0; i < N; i++) {
		f >> V[i];
		if(!(deque.empty()) && deque.front() <= i - K) {
			deque.pop_front();
		}
		while(!(deque.empty()) && V[deque.back()] > V[i]) {
			deque.pop_back();
		}
		deque.push_back(i);
		if(i >= K - 1) {
			sum += V[deque.front()];
		}
	}
	g << sum;
	return 0;
}