Cod sursa(job #2623341)

Utilizator dream3rDavid Pop dream3r Data 2 iunie 2020 23:31:49
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
//#include "pch.h"
#include <iostream>
#include <fstream>
#include <vector>
#include <climits>
#include <deque>
#include <algorithm>
#define ll long long int
using	 namespace std;
fstream f("deque.in");
ofstream o("deque.out");
ll n, k;
ll nr;
vector<ll> coada(5000005, 0);
vector<ll>v(5000005, 0);
ll fata, spate;
ll ans;
int main()
{
	f >> n >> k;
	fata = 1;
	spate = 0;
	for (size_t i = 1; i <= n; i++)
	{
		f >> v[i];
	}

	for (size_t i = 1; i <= n; i++)
	{
		while (fata <= spate && v[i] <= v[coada[spate]])
		{
			spate--;
		}

		coada[++spate] = i;

		if (coada[fata] == i - k)
		{
			fata++;
		}

		if (i >= k)
		{
			ans += v[coada[fata]];
		}

	}
	o << ans;


}