Cod sursa(job #2791837)

Utilizator game_difficultyCalin Crangus game_difficulty Data 31 octombrie 2021 11:03:45
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream cin("deque.in");
ofstream cout("deque.out");

int v[5000005];

int main() {
	int n, k;
	cin >> n >> k;
	deque<int> q;
	long long ans = 0;
	for (int i = 1; i <= n; i++) {
		cin >> v[i];
		while (!q.empty() && q.front() <= i - k) {
			q.pop_front();
		}
		while (!q.empty() && v[q.back()] >= v[i]) {
			q.pop_back();
		}
		q.push_back(i);
		if(i >= k)
			ans += v[q.front()];
	}
	cout << ans;
	return 0;
}