Cod sursa(job #805033)

Utilizator DisturbedTeuca Sergiu Disturbed Data 30 octombrie 2012 20:35:51
Problema Subsir crescator maximal Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 1.25 kb
program secv;
type vector=array[1..20] of integer;
var a,l,u:vector;
        n,i,j,ind,max,imax:integer;

        procedure citire(var a:vector; var n:integer);
        var i:integer;
        begin
        write('n=');
        readln(n);
        for i:=1 to n do
                read(a[i]);
        end;

Begin
        citire(a,n);
        l[n]:=1;
        u[n]:=0;
        for i:=n-1 downto 1 do
                begin
                max:=0; imax:=0;
                for j:=i+1 to n do
                        if  (l[j]>max) and (a[i]<=a[j]) then
                                begin
                                max:=l[j];
                                imax:=j;
                        end;
                        l[i]:=1+max;
                        u[i]:=imax;
                        end;
                        max:=l[1];
                        imax:=1;
                        for j:=2 to n do
                                if l[j]>max then
                                        begin
                                        max:=l[j];
                                        imax:=j;
                                        end;
writeln(max);
repeat
        write(a[imax],' ');
        imax:=u[imax];
until imax=0;
end.