Cod sursa(job #644886)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 7 decembrie 2011 18:56:33
Problema Zombie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme 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;
}