Cod sursa(job #1429826)
| Utilizator | Data | 7 mai 2015 11:55:59 | |
|---|---|---|---|
| Problema | Zombie | Scor | 100 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <stdio.h>
#define MAXN 1000000
int din[MAXN + 1], v[MAXN + 1];
inline int min2(int a, int b){
return a < b ? a : b;
}
int main(){
FILE *in = fopen("zombie.in", "r");
int d, n, k, i, st = 1;
fscanf(in, "%d%d%d", &d, &n, &k);
d--;
for(i = 1; i <= n; i++){
fscanf(in, "%d", &v[i]);
while(v[i] - v[st] > d)
st++;
din[i] = min2(din[st - 1] + k, din[i - 1] + 1);
}
fclose(in);
FILE *out = fopen("zombie.out", "w");
fprintf(out, "%d", din[n]);
fclose(out);
return 0;
}
