Cod sursa(job #1599179)
Utilizator | Data | 13 februarie 2016 17:54:12 | |
---|---|---|---|
Problema | Zombie | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.43 kb |
#include <fstream>
using namespace std;
int D,N,K;
int t[1000001];
int d[1000001];
int main()
{
ifstream fin("zombie.in");
ofstream fout("zombie.out");
fin >> D >> N >> K;
for (int i = 1; i <= N; i++)
fin >> t[i];
int cz = 1;
for (int i = 1; i <= N; i++)
{
while (cz < i && t[i] - t[cz] >= D) ++cz;
d[i] = min(d[i-1]+1,d[cz-1]+K);
}
fout << d[N];
}