Cod sursa(job #1181532)

Utilizator tudi98Cozma Tudor tudi98 Data 2 mai 2014 23:45:31
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include <iostream>
#include <deque>
#include <utility>
#define pf push_front
#define pb push_back
#define popf pop_front
#define popb pop_back
#define pii pair<int,int>
#define mp make_pair
#define x first
#define y second
using namespace std;

deque<pii> D;
long long sum;
int a,i,n,k;

int main(){

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

	f>>n>>k;
	for(i=1;i<=n;i++){
		f>>a;
		while(!D.empty() && a<D.back().x) D.popb();
		D.pb(mp(a,i));

		if(i-D.front().y+1>k) D.popf();
		if(i>=k) sum+=D.front().x;
	}
	g << sum;
}