Cod sursa(job #1526232)

Utilizator tain1234andrei laur tain1234 Data 16 noiembrie 2015 02:36:14
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>
long long v[5000000], len, s, front,x;
long pos[5000000];
long N, k;
using namespace std;
int main(){
	ofstream of("deque.out");
	ifstream f("deque.in");
	f >> N >> k;
	front = 1; len = 0;
	for (long i = 1; i <= N; ++i)
		f >> v[i];
	for (long i = 1; i <= N; ++i){
		while (len >= front && v[i]<=v[pos[len]]) --len;
		pos[++len] = i;
		if (pos[front] <= i - k)
			++front;
		if (i >= k)s += v[pos[front]];
	}
	of << s << "\n";
}