Pagini recente » Cod sursa (job #1160162) | Cod sursa (job #3247721) | Cod sursa (job #717457) | Cod sursa (job #3208948) | Cod sursa (job #636980)
Cod sursa(job #636980)
#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;
}