Cod sursa(job #291738)

Utilizator wefgefAndrei Grigorean wefgef Data 30 martie 2009 12:09:29
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include <deque>
#include <algorithm>
using namespace std;

int n, k;
deque< pair<int, int> > _deque;
long long sol;

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

	fin >> n >> k;
	for (int i = 0; i < n; ++i) {
		int val; fin >> val;
		
		while (!_deque.empty() && _deque.back().first >= val)
			_deque.pop_back();
		_deque.push_back(make_pair(val, i));
		if (_deque.front().second + k == i)
			_deque.pop_front();

		sol += i < k - 1 ? 0 : _deque.front().first;
	}
	fout << sol;
}