Cod sursa(job #2574503)

Utilizator Arteni_CristiArteni Cristi Arteni_Cristi Data 5 martie 2020 23:02:43
Problema Subsir crescator maximal Scor 55
Compilator fpc Status done
Runda Arhiva educationala Marime 0.62 kb
var t,v:array[1..100005] of longint;
    n,i,k,st,dr,poz,mij:longint;
begin
assign(input,'scmax.in'); reset(input);
assign(output,'scmax.out'); rewrite(output);
readln(n);
for i:=1 to n do read(t[i]);
k:=1; v[k]:=t[1];
for i:=2 to n do
 if t[i]>v[k] then
  begin
   inc(k);
   v[k]:=t[i]
  end
 else
  begin
   st:=1; dr:=k; poz:=k+1;
   while st<=dr do
    begin
     mij:=(st+dr) div 2;
     if v[mij]>t[i] then
      begin
       poz:=mij;
       dr:=mij-1
      end else
     st:=mij+1
    end;
   v[poz]:=t[i]
  end;
writeln(k);
for i:=1 to k do write(v[i],' ');
close(input);
close(output)
end.