11 lines
256 B
Text
11 lines
256 B
Text
procedure main(A)
|
|
every writes((!lis(A)||" ") | "\n")
|
|
end
|
|
|
|
procedure lis(A)
|
|
r := [A[1]] | fail
|
|
every (put(pt := [], [v := !A]), p := !pt) do
|
|
if put(p, p[-1] < v) then r := (*p > *r, p)
|
|
else p[-1] := (p[-2] < v)
|
|
return r
|
|
end
|