Cod sursa(job #636830)

Utilizator AndrewTheGreatAndrei Alexandrescu AndrewTheGreat Data 20 noiembrie 2011 00:08:31
Problema Zombie Scor 100
Compilator cpp Status done
Runda .com 2011 Marime 0.56 kb
#include <fstream>
#include <iostream>

using namespace std;

const int nmax = 1000010;
int A[nmax], B[nmax];

int main()
{
    ifstream in ("zombie.in");
    ofstream out("zombie.out");


    int D, N, K, i, ind;
    in >> D >> N >> K;
    for(i = 1; i <= N; i++)
        in >> A[i];

    B[1] = 1;
    ind = 1;
    for(i = 2; i <= N; i++)
    {
        B[i] = B[i - 1] + 1;
        while(A[ind] < A[i] - D)
            ind++;

        if(B[i] > B[ind - 1] + K)
            B[i] = B[ind - 1] + K;
    }

    out << B[N];
    return 0;
}