Cod sursa(job #636286)
Utilizator | Data | 19 noiembrie 2011 18:20:38 | |
---|---|---|---|
Problema | Zombie | Scor | 30 |
Compilator | cpp | Status | done |
Runda | .com 2011 | Marime | 0.4 kb |
#include <cstdio>
#define min(i,j) (i<j)?i:j
long long bst[1000002];
int val[1000002];
int main()
{
int i,j,n,k,d,x=1;
freopen("zombie.in","r",stdin);
freopen("zombie.out","w",stdout);
scanf("%d %d %d %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("%d\n",bst[n]);
return 0;
}