Cod sursa(job #2722816)

Utilizator DragosC1Dragos DragosC1 Data 13 martie 2021 12:23:28
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <deque>
#include <iostream>
using namespace std;

int n, k;
deque<int> dq;
int sum;
int a[5000001];

void solve() {
	int i, x, j;

	ifstream f("deque.in");
	f >> n >> k;
	for (i = 1; i <= n; i++)
		f >> a[i];
	f.close();

	for (i = 1; i <= n; i++) {
		while (dq.size() > 0 && a[i] < a[dq.back()]) 
			dq.pop_back();
		dq.push_back(i);
		if (dq.front() == i - k)
			dq.pop_front();
		if (i >= k)
			sum += a[dq.front()];
	}

	ofstream g("deque.out");
	g << sum;
	g.close();

}

int main() {
	solve();
	return 0;
}