Cod sursa(job #636287)

Utilizator andreivFMI - vacaroiu andrei andreiv Data 19 noiembrie 2011 18:21:52
Problema Zombie Scor 20
Compilator cpp Status done
Runda .com 2011 Marime 0.41 kb
#include <cstdio>
#define min(i,j) (i<j)?i:j
long long bst[1000002];
int val[1000002];
int main()
{
	int i,j,n,d,x=1;
	long long k;
	
	freopen("zombie.in","r",stdin);
	freopen("zombie.out","w",stdout);
	scanf("%d %d %lld %d",&d,&n,&k,&val[1]);
	bst[1]=1;
	for (i=2;i<=n;++i) 
	{scanf("%d",&val[i]);
	 if (val[x]<val[i]-d) ++x;
	 bst[i]=min(bst[i-1]+1,bst[x-1]+k);
	}
	printf("%lld\n",bst[n]);
return 0;
}