Cod sursa(job #632678)

Utilizator dany123Florea Daniel dany123 Data 11 noiembrie 2011 23:40:58
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
//026-deque cu array[]
#include<iostream>
#include<fstream>
#include<deque>
#include<ctime>
using namespace std;
int n,k,v[5000001];
long long sum;
int deq[5000001];
void citire()
{
	ifstream fin("deque.in"); //grader_test15.in
	fin>>n>>k;
	for (int i=1;i<=n;++i)
		fin>>v[i];
	fin.close();
}
void minime()
{
	int inc=1, sf=0;
	for (int i=1;i<=n;i++)
	{
		while ( (inc<=sf) && (v[i]<=v[deq[sf]]) ) sf--;
		deq[++sf]=i;
		if (deq[inc]==i-k) inc++;
		if (i>=k) sum+=v[deq[inc]];
	}
}		

int main ()
{
	clock_t start =clock();
	citire();
	cout<<clock()-start;
	minime();
	ofstream fout("deque.out");
	fout<<sum;

	fout.close();
	
	return 0;
}