Cod sursa(job #2038778)

Utilizator robuvedVictor Robu robuved Data 13 octombrie 2017 23:16:10
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
#include <set>
#include <deque>

using namespace std;

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

int main()
{
	int N, K;
	in >> N >> K;
	long long sum = 0;
	deque<int> d;
	multiset<int> s;
	for (int i = 0; i < N; i++)
	{
		int x;
		in >> x;
		d.push_back(x);
		s.insert(x);
		if (i >= K)
		{
			auto it = s.find(d.front());
			s.erase(it);
			d.pop_front();
			sum += *s.begin();
		}
		else if (i == K - 1)
		{
			sum += *s.begin();
		}
	}
	out << sum;
}