Cod sursa(job #1377291)

Utilizator fzsoltFerencz Zsolt fzsolt Data 5 martie 2015 21:01:58
Problema Cel mai lung subsir comun Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 1.19 kb
uses math,crt;
var a:array[0..1025,0..1025] of byte;
    i,j,k,n,m:integer;
    f,g:text;

procedure kiir;
        var i,j:integer;
        begin
        clrscr;
          for i:=0 to n do
             begin
             for j:=0 to m do write(a[i,j]:3);
             writeln;
             end;
        delay(1000);
        end;
begin
 assign(f,'cmlsc.in'); reset(f);
 assign(g,'cmlsc.out'); rewrite(g);
 readln(f,m,n);

 for i:=1 to m do read(f,a[0,i]);
 for i:=1 to n do read(f,a[i,0]);

 k:=1;
 if a[1,0]=a[0,1] then a[1,1]:=1
                  else a[1,1]:=0;
 for i:=2 to n do if a[0,1]=a[i,0] then a[i,1]:=1
                                   else a[i,1]:=a[i-1,1];
 for i:=2 to m do if a[1,0]=a[0,i] then a[1,i]:=1
                                   else a[1,i]:=a[1,i-1];

 for i:=2 to n do
     for j:=2 to m do
         if a[i,0]=a[0,j] then a[i,j]:=a[i-1,j-1]+1
                          else a[i,j]:=max(a[i-1,j],a[i,j-1]);

  writeln(g,a[n,m]);
  for i:=1 to n do
      for j:=1 to m do
          if a[i,j]=k then begin
                            inc(k);
                            write(g,a[0,j],' ');
                           end;
  close(g);

end.