Cod sursa(job #650395)

Utilizator andrei_toaderToader Andrei Sorin andrei_toader Data 17 decembrie 2011 22:47:29
Problema Subsir crescator maximal Scor 60
Compilator fpc Status done
Runda Arhiva educationala Marime 0.73 kb
program subsir;
var f,g:text;
    a:array [1..100000] of longint;
    v,pred,sol:array [1..100000] of longint;
    n,i,j,c,imax:longint;

procedure afisare (i:integer);
begin
 if i<>0 then
 begin
  afisare (pred[i]);
  c:=c+1;
  sol[c]:=a[i];
 end;
end;

begin
 assign (f,'scmax.in'); reset (f);
 assign (g,'scmax.out'); rewrite (g);
 readln (f,n);
 for i:=1 to n do
  read (f,a[i]);
  imax:=1;
 for i:=2 to n do
 begin
  v[i]:=1;
  for j:=1 to i-1 do
   if (a[j]<a[i]) and (v[j]+1>v[i]) then
   begin
    pred[i]:=j;
    v[i]:=v[j]+1;
   end;
   if v[imax]<v[i] then
    imax:=i;
 end;
 c:=0;
 afisare (imax);
 writeln (g,c,' ');
 for i:=1 to c do
  write (g,sol[i],' ');
  close (f);
  close (g);
end.