Cod sursa(job #640641)

Utilizator alex_mircescuAlex Mircescu alex_mircescu Data 26 noiembrie 2011 11:11:39
Problema Zombie Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <stdio.h>

long d, n, k, h = 1, i, D[1000010], zt[1000010];

inline long min(long a, long b) {if (a > b) return b; return a;}

int main() {
	freopen("zombie.in", "r", stdin);
	freopen("zombie.out", "w", stdout);
	
	scanf("%ld %ld %ld", &d, &n, &k);

	for (i = 1; i <= n; ++i) scanf("%ld", &zt[i]);
	for (i = 1; i <= n; ++i) {
		while (zt[i] - d + 1 > zt[h]) ++h;
		D[i] = min(D[h - 1] + k, D[i - 1] + 1);
	}
	printf("%ld\n", D[n]);
	return 0;
}