Cod sursa(job #805038)

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

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

Begin
        assign (f,'scmax.in'); reset(f);
        assign (g,'scmax.out'); rewrite(g);
        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(g,max);
repeat
        write(g,a[imax],' ');
        imax:=u[imax];
until imax=0;
close(g);
end.