Cod sursa(job #3169224)

Utilizator Minea_TheodorMinea Theodor Stefan Minea_Theodor Data 14 noiembrie 2023 13:48:27
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int a[5000001],dq[5000001];
void elimst(int i, int st)
{
	if(i-dq[st]==k)
		++st;
}
void elimdr(int i, int st, int dr)
{
	while(st<=dr&&a[dq[dr]]>=a[i])
		--dr;
	dq[dr++]=i;
}
int main()
{
    int n,k,st=0,dr=0;
    long long s=0;
	fin >> n >> k;
	for(int i=1;i<=k;++i)
	{
		fin >> a[i];
		elimst(i, st);
		elimdr(i, st, dr);
	}
	s=a[dq[st]];
	for(int i=k+1;i<=n;++i)
	{
		fin >> a[i];
		elimst(i);
		elimdr(i);
		s+=a[dq[st]];
	}
	fout << s;
	return 0;
}