Cod sursa(job #831842)

Utilizator avramavram andrei marius avram Data 9 decembrie 2012 12:53:39
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <fstream>

using namespace std;

int D[5000010];
int V[5000010];
int N, p, u, i, K;
long long s;

int main() {
	ifstream f("deque.in");
	ofstream g("deque.out");
	f>>N>>K;
	for (i=1;i<=N;i++) {
		f>>V[i];
	}
	
	p = u = 1;
	D[1] = 1; //pozitia lui V[1];
	for (i=2;i<=N;i++) {
		while (V[i] < V[ D[u] ] && p<=u)
			u--;
		D[++u] = i;
		if (i-D[p] == K)
			p++;
		if (i >= K)
			s += V[D[p]];
	}
	
	g<<s;
	return 0;
}