Cod sursa(job #635440)
| Utilizator | Data | 19 noiembrie 2011 11:37:48 | |
|---|---|---|---|
| Problema | Zombie | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | .com 2011 | Marime | 0.49 kb |
#include <algorithm>
#include <stdio.h>
#include <iostream>
#include <fstream>
#define MAX 1000010
using namespace std;
int n, d, k;
int sol[MAX], a[MAX];
int main()
{
ifstream cin("zombie.in");
ofstream cout("zombie.out");
cin >> d >> n >> k;
for (int i = 1; i <= n; i++)
cin >> a[i];
int pr = 0;
for (int i = 1; i <= n; i++)
{
for (; a[pr + 1] <= a[i] - d; pr++);
sol[i] = min(sol[pr] + k, sol[i - 1] + 1);
}
cout << sol[n];
return 0;
}
