【数据结构】LIS

 1 var
 2     a,f:array[1..1000] of integer;
 3     n,i,j,max:integer;
 4 begin
 5     readln(n);
 6     for i:=1 to n do read(a[i]);
 7     for i:=1 to n do
 8     begin
 9         max:=1;
10         for j:=1 to i-1 do if a[j]<a[i] then
11             if f[j]+1>max then max:=f[j]+1;
12         f[i]:=max;
13     end;
14     max:=0;
15     for i:=1 to n do if f[i]>max then max:=f[i];
16     writeln(f[i]);
17 end.

 

posted @ 2013-08-13 18:37  OmegaIota  阅读(208)  评论(0编辑  收藏  举报