Cod sursa(job #2022407)

Utilizator NicolaalexandraNicola Alexandra Mihaela Nicolaalexandra Data 16 septembrie 2017 15:08:51
Problema Zombie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>

using namespace std;
int d,n,k,i,v[1000001],P[1000001],sol[1000001];
ifstream fin ("zombie.in");
ofstream fout ("zombie.out");

int binary_search (int val,int poz){
    int st = 1,dr = poz,mid;
    while (st <= dr){
        mid = (st+dr)/2;
        if (v[mid] < val)
            st = mid+1;
        else
            dr = mid-1;
    }
    return st;
}

int main (){

    fin>>d>>n>>k;
    for (i=1;i<=n;i++){
        fin>>v[i];
        P[i] = binary_search (v[i]-d+1,i);
    }
    for (i=1;i<=n;i++)
        sol[i] = min (sol[i-1]+1,sol[P[i]-1]+k);
    fout<<sol[n];

    return 0;
}