Тема: Баг в коде?
Смотрел статью на Здесь . Потом скомпилировал этот код:
// 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 .
В чем ошибка??? Или я не правильно что-то сделал?