Cod sursa(job #1246050)

Utilizator ArkinyStoica Alex Arkiny Data 20 octombrie 2014 14:49:13
Problema Deque Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<fstream>
#include<deque>
using namespace std;


long long N,K;

ifstream in("deque.in");
ofstream out("deque.out");




int main()
{
	

	in>>N>>K;

	long elem,p=1,min_pos=1,elem_omit=0;

	long long sum=0;

	deque<long> dequ;
	for(int i=1;i<=N-K+1;i++)
	{
	   while(p<=K)
		{
			in>>elem;
			
				while(dequ.size() && dequ.back()>=elem)
				{
					dequ.pop_back();
					elem_omit++;
				}
				  if(dequ.size()==0)
					 min_pos=min_pos+elem_omit;
				dequ.push_back(elem);
			
			p++;

		}
	   sum+=dequ.front();
	   if(i==min_pos)
	   {
		   dequ.pop_front();
		   min_pos=min_pos + elem_omit;
	   }
	   p--;elem_omit=1;
	}



	out<<sum;

	in.close();
	out.close();

	return 0;
}