Cod sursa(job #636486)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 19 noiembrie 2011 20:44:34
Problema Zombie Scor 90
Compilator cpp Status done
Runda .com 2011 Marime 0.46 kb
#include <cstdio>

inline int min(int x,int y){if (x<y) return x;else return y;}

int d[1000001],v[1000001];

int main()
{
    int i,k,n,ind,dist;
    freopen("zombie.in","r",stdin);
    freopen("zombie.out","w",stdout);
    scanf("%d%d%d",&dist,&n,&k);
    for (i=1,ind=1;i<=n;++i)
    {
        scanf("%d",&v[i]);
        while (v[i]-v[ind]>dist)
            ++ind;
        d[i]=min(d[i-1]+1,d[ind-1]+k);
    }
    printf("%d\n",d[n]);
    return 0;
}