Cod sursa(job #2100550)

Utilizator Tyler_BMNIon Robert Gabriel Tyler_BMN Data 5 ianuarie 2018 20:24:32
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
#include <deque>

#define ll long long

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

ll n, k, a[5000010], rez=0;
deque<ll> dq;

int main() {
	fin >> n >> k;
	for (int i = 1; i <= n; i++) {
		fin >> a[i];

		while (!dq.empty() && a[i] <= a[dq.back()])
			dq.pop_back();
		dq.push_back(i);

		if (dq.front() == i - k)
			dq.pop_front();

		if (i >= k)
			rez += a[dq.front()];
	}

	fout << rez;
	return 0;
}