Cod sursa(job #2973136)

Utilizator suimerchantsui merchant suimerchant Data 31 ianuarie 2023 09:10:12
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <fstream>
using namespace std;


ifstream fin("deque.in");
ofstream fout("deque.out");


int v[5000010],d[5000010];
int st,dr,n,k;
long long s;


int main()
{
    fin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        fin>>v[i];
    }
    st=1;
    dr=0;
	for (int i=1;i<=n;i++)
	{
		while (st<=dr && v[i]<=v[d[dr]]) dr--;
		d[++dr]=i;
		if(d[st]==i-k) st++;
		if(i>=k)s+=v[d[st]];
	}
	fout<<s;
    return 0;
}