Cod sursa(job #2115399)

Utilizator DimaTCDima Trubca DimaTC Data 26 ianuarie 2018 18:17:48
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<bits/stdc++.h>
#define NMAX 50000010
using namespace std;

int n,k;
int a[NMAX];
deque<int>Q;
long long s;

int main() {
	ifstream cin("deque.in");
	ofstream cout("deque.out");
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cin>>n>>k;;

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

		Q.push_back(i);
		while (i-Q.front()>=k) {
			Q.pop_front();
		}
		if (i>=k) s+=a[Q.front()];
	}
	cout<<s;
}