Cod sursa(job #2974715)

Utilizator anghelpatrickPatrick Anghel anghelpatrick Data 4 februarie 2023 14:51:53
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream>
#include<queue>

using namespace std;

ifstream cin("deque.in");
ofstream cout("deque.out");

deque<int>deq;
int a[5000005];
int n,i,k;
long long x;

int main()
{
    	cin>>n>>k;
	for( i = 1 ; i <= n ; i ++ )
        cin >> a[i] ;

	for( i = 1 ;i <= n ; i ++ )
	{	while(!deq.empty()&&a[i]<=a[deq.back()])
            deq.pop_back();

		deq.push_back(i);
		if(deq.front()==i-k)
            deq.pop_front();
		if(i>=k)
            x+=a[deq.front()];
	}
	cout<<x<<'\n';
	return 0;
}