Cod sursa(job #632679)

Utilizator dany123Florea Daniel dany123 Data 11 noiembrie 2011 23:43:57
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 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()
{
}
void minime()
{
	ifstream fin("deque.in"); //grader_test15.in //citire
	fin>>n>>k; //citire	
	int inc=1, sf=0;
	for (int i=1;i<=n;i++)
	{
		fin>>v[i]; //citire
		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]];
	}
	fin.close(); //citire
}		

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

	fout.close();
	
	return 0;
}