Cod sursa(job #508474)

Utilizator the@EyE@Postavaru Stefan the@EyE@ Data 8 decembrie 2010 15:57:39
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <stdio.h>
#include <deque>
#include<set>

using namespace std;



int main()
{
	
	freopen("deque.in","r",stdin);
	freopen("deque.out","w",stdout);
	
	deque<long> dec;
	set<long> ord;
	long n,k,s=0,times=0;
	
	scanf("%ld%ld\n",&n,&k);
	for(long i=0;i<n;i++)
	{
		/*times++;
		int x;
		scanf("%d\n",&x);
		if(dec.size()>0) if(x<dec.back()) dec.pop_front();
		dec.push_back(x);
		s+=dec.front();
		if(times==k)
		{
			times=0;
			dec.pop_front();
		}*/
		long int x;
		scanf("%ld\n",&x);
		times++;
		ord.insert(x);
		dec.push_back(x);
		//int w=*ord.begin();
		if(times==k)
		{
			times=2;
			s+=*ord.begin();
			ord.erase(dec.front());
			dec.pop_front();
		}
		
	}
	printf("%ld\n",s);
	
	return 0;
}