Cod sursa(job #508473)

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

using namespace std;



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