Cod sursa(job #641197)

Utilizator okros_alexandruOkros Alexandru okros_alexandru Data 27 noiembrie 2011 15:29:55
Problema Deque Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<fstream>
#include<vector>
using namespace std;
vector <int> deque;
int n,k,v[5000100];
int main() {
	int i;
	long long s=0;
	ifstream in("deque.in");
	in>>n>>k;
	for(i=0;i<n;i++) {
		in>>v[i];
		while(deque.size()&&v[i]<v[deque.back()])
			deque.pop_back();
		deque.push_back(i);
		if(deque.front()==i-k)
			deque.erase(deque.begin(),deque.begin()+1);
		if(i>k-2)
			s+=v[deque.front()];
		}
	ofstream out("deque.out");
	out<<s<<'\n';
	in.close();
	out.close();
	return 0;
}