Cod sursa(job #3250477)

Utilizator MilitaruMihai2022Millitaru Mihai MilitaruMihai2022 Data 21 octombrie 2024 11:17:37
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;

const int NMAX=5000010;

int n,k,vec[NMAX],sum;
deque <int> d;

ifstream f("deque.in");
ofstream g("deque.out");

void citire()
{
    f>>n>>k;
    for(int i=1;i<=n;i++)
        f>>vec[i];
}

int main()
{
    citire();
    for (int i = 1; i <= n; i++)
	{
		while (!d.empty() && vec[i] <= vec[ d.back()])
            d.pop_back();
		d.push_back(i);

		if (d.front() == i-k)
            d.pop_front();

		if (i >= k)
            sum += vec[ d.front()];
	}
    g<<sum;
    return 0;
}