KSEQ1 - Dãy số 1

Tác giả: ladpro98

Ngôn ngữ: Pascal

program kseq1;
uses    math;
const   fi='';
        maxn=303;

var     f:array[0..maxn,0..maxn] of longint;
        a:array[1..maxn] of longint;
        n,i,j,k,res:longint;
        inp:text;
begin
        assign(inp,fi);reset(inp);
        readln(inp,n);
        for i:=1 to n do read(inp,a[i]);
        for i:=2 to n do
        begin
                f[0,i-1]:=0;
                for j:=i-1 to n do f[0,j]:=0;
                for j:=0 to i-1 do f[j,i-1]:=0;
                for j:=1 to i-1 do
                for k:=i to n do
                if a[j]<a[k] then f[j,k]:=f[j-1,k-1]+1
                else    f[j,k]:=max(f[j-1,k],f[j,k-1]);
                res:=max(res,f[i-1,n]);
        end;
        write(res);
end.

Download