1

Тема: Баг в коде?

Смотрел статью на Здесь . Потом скомпилировал этот код:

 // O (N log N)
vector<int> d (n+1, INF);
d[0] = -INF;
for (int i=0; i<n; i++)
{
    unsigned j = upper_bound (d.begin(), d.end(), a[i]) - d.begin() - 1;
    if (d[j] < a[i] && a[i] < d[j+1])
        d[j+1] = a[i];
}

И ввел такой инпут :
8
5 3 2 4 6 7 3 9

Он выводит : 2 3 6 7 9, а должен 2 4 6 7 9 .

В чем ошибка??? Или я не правильно что-то сделал?

2

Re: Баг в коде?

А что выводите? D? Это не совсем ответ. Ну там в статье дальше есть код, подлинней, который восстанавливает и выводит всё, вы его запускали?

3

Re: Баг в коде?

Извиняюсь . Не дочитал статью . В следуйщий раз буду дочитовать ,а потом писать в форум.