LIQ - Dãy con tăng dài nhất ( bản dễ )
Tác giả: ll931110
Ngôn ngữ: Pascal
Program LIQ;
Const
input = '';
output = '';
max = 1000;
Var
x,l: array[0..max + 1] of integer;
n: integer;
Procedure enter;
Var
f: text;
i: integer;
Begin
Assign(f, input);
Reset(f);
Readln(f, n);
For i:= 1 to n do read(f, x[i]);
Close(f);
x[0]:= Low(integer);
x[max + 1]:= High(integer);
End;
Procedure optimize;
Var
i,j,jmax: integer;
Begin
l[n + 1]:= 1;
For i:= n downto 0 do
Begin
jmax:= n + 1;
For j:= i + 1 to n + 1 do
If (x[j] > x[i]) and (l[j] > l[jmax]) then jmax:= j;
l[i]:= l[jmax] + 1;
End;
End;
Procedure printresult;
Var
f: text;
Begin
Assign(f, output);
Rewrite(f);
Writeln(f, l[0] - 2);
Close(f);
End;
Begin
enter;
optimize;
printresult;
End.