Cod sursa(job #1164315)
| Utilizator | Data | 1 aprilie 2014 23:41:27 | |
|---|---|---|---|
| Problema | Zombie | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.43 kb |
#include <cstdio>
#include <algorithm>
#define MAX 1000010
using namespace std;
int sol[MAX],mom[MAX],n,d,k,i,j;
int main()
{
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",mom+i);
for(i=1,j=1;i<=n;++i){
while(mom[j]<=mom[i]-d)++j;
sol[i]=min(sol[i-1]+1,sol[j-1]+k);
}
printf("%d\n",sol[n]);
return 0;
}
