Cod sursa(job #1877853)

Utilizator flibiaVisanu Cristian flibia Data 13 februarie 2017 19:13:15
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <bits/stdc++.h>
#define pb push_back
#define pf push_front
#define st first
#define nd second
#define mp make_pair

using namespace std;

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

deque <pair <int, int> > q; int n, k, a, pos; long long rs;

int main(){
	in >> n >> k;
	for(int i = 1; i <= n; i++){
		in >> a;
		while(!q.empty() && a <= q.back().st) q.pop_back();
		q.pb(mp(a, i));
		if(!q.empty() && q.front().nd <= i-k) q.pop_front();
		if(i >= k) rs += q.front().st;
	}
	out << rs;
	return 0;
}