Cod sursa(job #636980)

Utilizator Fetita_JucausaFetita Buclucasa Fetita_Jucausa Data 20 noiembrie 2011 08:51:11
Problema Zombie Scor 100
Compilator cpp Status done
Runda .com 2011 Marime 0.91 kb
#include <algorithm>
#include <cstdio>
using namespace std;

#define MaxN 1000005
#define MAX 10005

int v[MaxN],bst[MaxN];
int N,D,cst;

char buff[MAX];
int poz=MAX-1;

inline void cit (int &nr)
{
    for ( ; !('0'<=buff[poz] && buff[poz]<='9'); )
        if (++poz==MAX)
        {
            fread (buff,1,MAX,stdin);
            poz=0;
        }
    for (nr=0; '0'<=buff[poz] && buff[poz]<='9'; )
    {
        nr=nr*10+buff[poz]-'0';
        if (++poz==MAX)
        {
            fread (buff,1,MAX,stdin);
            poz=0;
        }
    }
}

int main ()
{
    freopen ("zombie.in","r",stdin);
    freopen ("zombie.out","w",stdout);
    int last=1;

    cit (D); cit (N); cit (cst);
    for (int i=1; i<=N; ++i)
    {
        cit (v[i]);
        for ( ; v[last]+D<v[i]; ++last);
        bst[i]=min (bst[i-1]+1,bst[last-1]+cst);
    }
    printf ("%d",bst[N]);

    return 0;
}