Cod sursa(job #1060778)

Utilizator PokerDawgCristian Popov PokerDawg Data 18 decembrie 2013 18:15:44
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream in("deque.in");
ofstream out("deque.out");

long long int n, k, x, s = 0, v[5000001];
deque <int> d;

int main()
{
	in >> n >> k;

	for (int i = 0; i < n; i ++)
	{
	    in >> v[i];

		while (!d.empty() && v[i] < v[d.back()])
			d.pop_back();
		while (!d.empty() && d.front() <= i - k)
			d.pop_front();
		d.push_back(i);

		if (i >= k - 1)
			s += v[d.front()];
	}

    out << s;

    in.close();
    out.close();
    return 0;
}