Cod sursa(job #3322014)

Utilizator ASUSASUS ASUS ASUS Data 12 noiembrie 2025 10:49:12
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <stdio.h>

#define maxn 5000010

int n, k;
int a[maxn], d[maxn];
int inc, sf;
long long s;

int main()
{
	freopen("deque.in", "r", stdin);
	freopen("deque.out", "w", stdout);
	int i;
	scanf("%d %d ", &n, &k);
	for (i = 1; i <= n; i++)
		scanf("%d ", &a[i]);

	inc = 1, sf = 0;

	for (i = 1; i <= n; i++)
	{
		while (inc <= sf && a[i] <= a[ d[sf] ])
            sf--;
		d[++sf] = i;

		if (d[inc] == i-k)
            inc++;

		if (i >= k)
            s += a[ d[inc]];
	}

	printf("%lld\n", s);

	return 0;
}