Изменения
→Решение за время O(N2)
d[i][j] = best + 1
p[j] = best_ind
'''if''' a[i] > b[j] '''and''' d[i-1][j] > best // в момент следующего равенства a[i] = b[j'] best = d[i-1][j] // нам не придётся бежать циклом в поисках элемента k: best best_ind = d[i-1][j] // b[k] < b[j'] = a[i]. Мы считаем элемент a[i] фиксированным и сравниваем кандидатов с ним best_ind = j
// восстановление (по массиву b)
b_j = 1 // ищем лучший элемент d[n][b_j]<tex> \rightarrow </tex> max