Cod sursa(job #638398)
| Utilizator | Data | 20 noiembrie 2011 20:50:18 | |
|---|---|---|---|
| Problema | Zombie | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | .com 2011 | Marime | 0.46 kb |
#include <cstdio>
FILE *f,*g;
int v[1000100];
int a[1000100];
int n,k,d,mn,i,j;
inline int mnn(int x,int y) {
if (x>y) return y;
return x;
}
int main() {
f=fopen("zombie.in","r");
g=fopen("zombie.out","w");
fscanf(f,"%d%d%d",&d,&n,&k);
v[0]=0;
for (j=1,i=1;i<=n;i++) {
fscanf(f,"%d",&a[i]);
if (i<=k) {
v[i]=i;
continue;
}
while (a[j]+d-1<a[i]) j++;
v[i]=mnn(v[j-1]+k,v[i-1]+1);
}
fprintf(g,"%d",v[n]);
fclose(g);
return 0;
}