Cod sursa(job #318996)

Utilizator funkydvdIancu David Traian funkydvd Data 30 mai 2009 10:55:30
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>
#include <deque>
ifstream f1("deque.in");
ofstream f2("deque.out");
using namespace std;
int n, k;
deque< pair<int, int> > dek;
long long s;
int main() 
{
        int x;
	f1 >> n >> k;
	for (int i = 0; i < n; ++i) {
		f1>>x;
		while (!dek.empty() && dek.back().first > x)
			dek.pop_back();
		dek.push_back(make_pair(x, i));
		if (dek.front().second + k == i)
			dek.pop_front();
		if (i+1>=k)
		s += dek.front().first;
	}
	f2 << s;
}