Cod sursa(job #830373)

Utilizator DarianDarian Sastre Darian Data 6 decembrie 2012 19:07:27
Problema Subsir crescator maximal Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 1.24 kb
var v,lung,urm:array[1..100] of integer;
        i,j,l,max,max_p:integer;
        fi:text;

begin
        assign(fi,'scmax.in'); reset(fi);
        readln(fi,l);
        for i:=1 to l do
                begin
                        read(fi,v[i]);
                        lung[i]:=1;
                        urm[i]:=-1;
                end;
        for i:=l downto 1 do
                for j:=i+1 to l do
                   begin
                        if v[i]<v[j] then
                                if lung[i]<1 + lung[j] then
                                        begin
                                                lung[i]:=1 + lung[j];
                                                urm[i]:=j;
                                        end;
                   end;
        max:=-1;

        for i:=1 to l-1 do
                if lung[i]>max then
                        begin
                                max:=lung[i];
                                max_p:=i;
                        end;
        while urm[max_p]<>-1 do
                begin
                        write(v[max_p],' ');
                        max_p:=urm[max_p];
                end;
        write(v[max_p]);
        readln;
        close(fi);
end.