Cod sursa(job #635752)

Utilizator mihai995mihai995 mihai995 Data 19 noiembrie 2011 14:44:01
Problema Zombie Scor 100
Compilator cpp Status done
Runda .com 2011 Marime 0.51 kb
#include <fstream>
using namespace std;

const int N=1000005;
int v[N],a[N],d[N],n,k,D;

ifstream in("zombie.in");
ofstream out("zombie.out");

inline int min(int a,int b)
{
    return a<b ? a : b;
}

int main()
{
    int i,j;
    in>>D>>n>>k;
    for (i=1;i<=n;i++)
        in>>d[i];
    for (i=j=1;i<=n;i++)
    {
        for(;j<=n && d[j]-d[i]<=D;j++);
        a[i]=j-1;
    }
    v[n]=1;
    for (i=n-1;i;i--)
        v[i]=min(v[i+1]+1,v[a[i]+1]+k);
    out<<v[1]<<"\n";
    return 0;
}