Cod sursa(job #1861700)

Utilizator vagrosuVictor Alessandru Grosu vagrosu Data 29 ianuarie 2017 11:07:26
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <deque>

using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
deque<elem> x;
struct elem { int val, pos; };
long long n, k, i, l, s, cst, cdr;
int main()
{
	fin >> n >> k;
	for(i=1;i<=k;i++)
	{
		fin >> x.val;
		x.pos = i;
		while (!v.empty() && v.back().val > x.val)
			v.pop_back();
		v.push_back(x);
	}
	cst = 1;cdr = k;s = v.front().val;
	for(i=k+1;i<=n;i++)
	{
		cst++;
		cdr++;
		fin >> x.val;x.pos = i;
		if (v.front().pos < cst)v.pop_front;
		while (!v.empty() && v.back().val > x.val)
			x.pop_back();
		v.push_pop(x);
		s += v.front().val;
	}
	fout << s;
    return 0;
}