Mai intai trebuie sa te autentifici.
Cod sursa(job #613565)
| Utilizator | 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;
}
