Изменения
Нет описания правки
x = sibling[x]
return y
</code>
<code>
lis = 0 // длина НВП
a = (n, 0) // заполняем нулями
pred = (n, -1) // -1 - признак отсутствия предпоследнего элемента, что указывает на то, что данный элемент является первым в подпоследовательности
a[1] = 1
For i = 2 to n
For j = 1 to i - 1
If (x[i] > x[j]) and (a[j] + 1 > a[i]) // нашли более оптимальную подпоследовательность
a[i] = a[j]+1
pred[i] = j
lis = max(lis, a[i])
</code>