Cod sursa(job #1424069)
Utilizator | Data | 23 aprilie 2015 13:02:36 | |
---|---|---|---|
Problema | Zombie | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <stdio.h>
#define INF 1500000000
#define MAXN 1000000
int v[MAXN+1];
long long d[MAXN+1];
int main(){
int t, n, k, i, p;
FILE *fin, *fout;
fin=fopen("zombie.in", "r");
fout=fopen("zombie.out", "w");
fscanf(fin, "%d%d%d", &t, &n, &k);
d[0]=0;
v[0]=-INF;
p=0;
for(i=1; i<=n; i++){
fscanf(fin, "%d", &v[i]);
while(v[i]>v[p+1]+t){
p++;
}
d[i]=d[i-1]+1;
if(d[i]>k+d[p]){
d[i]=k+d[p];
}
}
fprintf(fout, "%d\n", d[n]);
fclose(fin);
fclose(fout);
return 0;
}