Cod sursa(job #984184)

Utilizator cosmo0093Raduta Cosmin cosmo0093 Data 13 august 2013 18:58:34
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#include <deque>

struct Pair
{
	int ind, key;
};

int main()
{
	std::ifstream in("deque.in");
	std::ofstream out("deque.out");
	std::deque<Pair> myDeq;
	int nV, k;
	Pair x;
	in >> nV >> k;
	long long sum = 0;
	for(int i = 1; i <= nV; i++)
	{
		in >> x.key;
		x.ind = i;
		
		while(!myDeq.empty() && myDeq.front().ind <= i - k)
			myDeq.pop_front();
		
		while(!myDeq.empty() && myDeq.back().key >= x.key)
			myDeq.pop_back();
			
		myDeq.push_back(x);
		
		if(i >= k) 
			sum += myDeq.front().key;
	}
	out << sum;
	return 0;
}