Pagini recente » Cod sursa (job #2747669) | Cod sursa (job #1268885) | Cod sursa (job #2720292) | Cod sursa (job #302715) | Cod sursa (job #637107)
Cod sursa(job #637107)
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <vector>
using namespace std;
#define maxn 1000010
int D, N, K;
int T[maxn], Din[maxn];
int main() {
FILE *f1=fopen("zombie.in", "r"), *f2=fopen("zombie.out", "w");
int i, j, p, q;
fscanf(f1, "%d %d %d\n", &D, &N, &K);
for(i=1; i<=N; i++) {
fscanf(f1, "%d", &T[i]);
}
int p1 = N, p2 = N;
for(i=N; i>=1; i--) {
int lim1 = T[i];
int lim2 = T[i] + D - 1;
int nrm = 0;
p1 = i;
while(T[p2] > lim2) p2 --;
Din[i] = min(1 + Din[i+1], K + Din[p2 + 1]);
}
fprintf(f2, "%d\n", Din[1]);
fclose(f1); fclose(f2);
return 0;
}