Cod sursa(job #635835)
Utilizator | Ionut Bogdanescu swift90 | Data | 19 noiembrie 2011 15:08:14 |
---|---|---|---|
Problema | Zombie | Scor | 100 |
Compilator | cpp | Status | done |
Runda | .com 2011 | Marime | 0.45 kb |
#include<cstdio>
using namespace std;
int nr[1000010],sol[1000010];
int D,N,K;
inline int minim(int a,int b){
return a<b?a:b;
}
int main(){
freopen("zombie.in","r",stdin);
freopen("zombie.out","w",stdout);
int i,j;
scanf("%d%d%d",&D,&N,&K);
for(j=i=1;i<=N;++i){
scanf("%d",&nr[i]);
while(nr[i]-nr[j]>=D)
++j;
sol[i]=minim(sol[j-1]+K,sol[i-1]+1);
}
printf("%d\n",sol[N]);
fclose(stdin);
fclose(stdout);
return 0;
}