Cod sursa(job #2503037)

Utilizator Dan_BDan Bugnariu Dan_B Data 2 decembrie 2019 10:40:13
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <bits/stdc++.h>
#define inf 0x3f3f3f3f
#define maxn 5000010
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");

int n,k;
int a[maxn],deq[maxn];
long long s;
int f,b;

int main()
{
    in>>n>>k;
	for(int i=1;i<=n;i++) in>>a[i];
	f=1,b=0;
	for(int i=1;i<=n;i++)
	{
	    while(f<=b && a[i]<=a[deq[b]]) b--;
        deq[++b]=i;
        if(deq[f]==i-k) f++;
        if(i>=k) s+=a[deq[f]];
	}
	out<<s;
	return 0;
}