Cod sursa(job #613565)

Utilizator cezar305Mr. Noname cezar305 Data 30 septembrie 2011 10:23:59
Problema Zombie Scor Ascuns
Compilator cpp Status done
Runda Marime 0.39 kb
#include<stdio.h>

#define NMAX 1000005
#define minim(a,b) (a<b ? a : b)

int D,n,k,p;
int v[NMAX],d[NMAX];

int main ()
{
	int i;
	
	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",&v[i]);
	p=1;
	for(i=1;i<=n;i++)
	{
		while(v[p]<=v[i]-D)
			p++;
		d[i]=minim(d[i-1]+1,d[p-1]+k);
	}	
	printf("%d\n",d[n]);
	return 0;
}