Cod sursa(job #2731580)

Utilizator LacatusLacatus Catalin-Petru Lacatus Data 27 martie 2021 22:41:27
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
 #include<iostream>
#include<fstream>
using namespace std;
int deq[5000000];
int main() {
	ifstream f("deque.in");
	ofstream g("deque.out");
	int n, k, suma = 0;

	f >> n;
	f >> k;
	int* A = new int[n];

	for (int i = 0; i < n; i++)
		f >> A[i];
	int start = 0, stop = -1;
	for (int i = 0; i < n; i++) {
		while (start <= stop && A[i] <= A[deq[stop]])
			stop--;
		deq[++stop] = i;
		if (deq[start] == i - k)
			start++;
		if (i + 1 >= k)
			suma += A[deq[start]];
	}
	g << suma;
	delete[]A;

	return 0;
}