Cod sursa(job #1628356)

Utilizator sebinechitasebi nechita sebinechita Data 3 martie 2016 23:23:01
Problema Zombie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("zombie.in");
ofstream fout("zombie.out");
#define MAX 1000100

int a[MAX], poz[MAX], rez[MAX];

int main()
{
    int n, d, k, i;
    fin >> d >> n >> k;
    for(i = 1 ; i <= n ; i++)
    {
        fin >> a[i];
    }
    for(i = 1 ; i <= n ; i++)
    {
        poz[i] = poz[i - 1];
        while(a[i] - a[poz[i] + 1] > d)
            poz[i]++;
        rez[i] = min(rez[i - 1] + 1, rez[poz[i]] + k);
    }
    fout << rez[n] << "\n";
}