Cod sursa(job #1134151)
| Utilizator | Data | 6 martie 2014 09:12:53 | |
|---|---|---|---|
| Problema | Zombie | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 kb |
#include <cstdio>
#include <algorithm>
#define Nmax 1000005
using namespace std;
int D,N,K,v[Nmax],dp[Nmax];
int main()
{
int i,j=1;
freopen ("zombie.in","r",stdin);
freopen ("zombie.out","w",stdout);
scanf("%d%d%d", &D,&N,&K);
for(i=1;i<=N;++i)
scanf("%d", &v[i]);
for(i=1;i<=N;++i)
{
while(v[i]-v[j]>=D-1)
++j;
dp[i]=min(dp[i-1]+1,dp[j-1]+K);
}
printf("%d\n", dp[N]);
return 0;
}
