Cod sursa(job #886643)

Utilizator Theorytheo .c Theory Data 23 februarie 2013 02:59:05
Problema Zombie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<fstream>
#include<algorithm>
#include<vector>

using namespace std;

ifstream fin("zombie.in");
ofstream fout("zombie.out");


const int Nmax = 1000009;

int N; int K; int D; vector<int> V;int Dist[Nmax];

void Read(){

    fin >> D >> N>> K;
    for(int i = 1; i <= N; ++i){

        int X; fin >> X;
        V.push_back(X);
    }
}

void Solve(){

    for(int i = 1; i <= N; ++i){
        Dist[i] = min(Dist[i - 1] + 1, Dist[lower_bound(V.begin(), V.end(), V[i - 1] - D) - V.begin()] + K);
    }

    fout << Dist[N];

}

int main(){

    Read (); Solve ();

    return 0;
}