Cod sursa(job #635291)

Utilizator muscaTudose Vlad-Adrian musca Data 19 noiembrie 2011 09:35:05
Problema Zombie Scor 100
Compilator cpp Status done
Runda .com 2011 Marime 0.61 kb
#include<stdio.h>
#include<queue>
using namespace std;
queue<int> a;
int n,m,k,i,j,d,x,nr,cost;
int main()
{
	freopen("zombie.in","r",stdin);
	freopen("zombie.out","w",stdout);
	scanf("%d%d%d",&d,&n,&k);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&x);
		a.push(x);
	}
	i=a.front()-1;
	nr=0;
	while(!a.empty())
	{
		i++;
		if(i==a.front())
		{
			i+=(d-1);
			nr++;
			a.pop();
		}
		while(i>=a.front()&&!a.empty())
		{
			nr++;
			if(nr>=d){ nr--; break; }
			a.pop();
		}
		if(nr>=k)
		{	cost+=k; nr=0;	}
		else
		{	cost+=nr; nr=0;	}
		i=a.front()-1;
	}	
	printf("%d\n",cost);
	return 0;
}