Cod sursa(job #2624822)

Utilizator vladdudauDudau Vlad vladdudau Data 5 iunie 2020 14:48:52
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#include <deque>
#define N 5000001
using namespace std;

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

int v[N];

deque <int> deq;
int n, k;
long long raspuns = 0;
int main()
{
	fin>>n>>k;
	for (int  i = 1; i <= n; ++i)
	{
		fin >> v[i];
		if (i >= k && deq.back() == i - k)
			deq.pop_back();
		while (!deq.empty() && v[i] <= v[deq.front()])
			deq.pop_front();
		deq.push_front(i);
		if (i >= k)
			raspuns = raspuns +  v[deq.back()];
	}
	fout << raspuns;
	return 0;
}