Cod sursa(job #2699571)

Utilizator Cristian1101Budai Krisztian Cristian1101 Data 24 ianuarie 2021 23:29:54
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
#define NMAX 5000010
int a[NMAX];
int Deque[NMAX];
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int main()
{
    int n,k;
    int s=0;
    fin>>n>>k;

	for (int i = 1;i<= n ;++i)
		fin>>a[i];

	int front = 1, back = 0;

	for (int i = 1;i<= n;++i)
	{
		while (front <= back && a[i] <= a[ Deque[back] ]) back--;

		Deque[++back] = i;

		if (Deque[front] == i-k) front++;

		if (i >= k) s += a[ Deque[front]];
	}

	fout<<s;
    return 0;
}