Cod sursa(job #2726212)

Utilizator HadircaDionisieHadirca Dionisie HadircaDionisie Data 20 martie 2021 14:53:32
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;

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

int n, k, idx = 0;
int sum = 0;
int st,dr;

int a[10000000] = { 0 };
int deque[10000000];

int main()
{

	fin >> n >> k;


	for (int i = 1; i <= n; i++) {
		int x;
		fin >> x;
		a[i] = x;
	}
	
	dr = 1;
	st = 0;

	for (int i = 1; i <= n; i++) {
		while (dr <= st && a[i] <= a[deque[st]])
			st--;
		deque[++st] = i;
		if (deque[dr] <= i - k)
			dr++;
		if (i >= k) sum += a[deque[dr]];
	}

	fout << sum;
	return 0;

}