Cod sursa(job #2568763)

Utilizator mihai50000Mihai-Cristian Popescu mihai50000 Data 4 martie 2020 09:44:56
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda r3capitusulare Marime 0.52 kb
#include <bits/stdc++.h>

using namespace std;

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

using i64 = long long;
const int DIM = 5e6 + 1;

int v[DIM];

main()
{
	deque <int> d;
	
	int n, k;
	fin >> n >> k;
	
	i64 ans = 0;
	
	for(int i = 1; i <= n; ++i)
	{
		fin >> v[i];
	}
	
	for(int i = 1; i <= n; ++i)
	{
		while(d.size() && v[d.back()] >= v[i])
			d.pop_back();
		
		d.emplace_back(i);
		
		while(d.front() <= i - k)
			d.pop_front();
		
		if(i >= k)
		{
			ans += 1LL * v[d.front()];
		}
	}
	
	fout << ans << '\n';
}