Cod sursa(job #1500515)
| Utilizator | Data | 12 octombrie 2015 03:38:24 | |
|---|---|---|---|
| Problema | Zombie | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<cstdio>
int n,d,k,i,j,a,v[1001000],x[1001000];
FILE *f,*g;
int minim(int a,int b){
if(a<b)
return a;
return b;
}
int main(){
f=fopen("zombie.in","r");
g=fopen("zombie.out","w");
fscanf(f,"%d%d%d",&d,&n,&k);
j=1;
for(i=1;i<=n;i++){
fscanf(f,"%d",&v[i]);
while(j<=i&&v[i]-v[j]>=d){
j++;
}
x[i]=minim(x[i-1]+1,x[j-1]+k);
}
fprintf(g,"%d",x[n]);
fclose(f);
fclose(g);
return 0;
}
