Pagini recente » Cod sursa (job #685694) | Cod sursa (job #1423119) | Cod sursa (job #737610) | Cod sursa (job #435563) | Cod sursa (job #1111939)
program fel;
uses crt;
type vektor=array[1..100000]of longint;
var
v,hosz,os:vektor;
n,i,j,maximum:longint;
f,g:text;
function max(a,b:longint):longint;
begin
if a>b then max:=a
else max:=b;
end;
procedure beolvas(var v:vektor);
begin
assign(f,'scmax.in');
reset(f);
readln(f,n);
for i:=1 to n do
begin
read(f,v[i]);
end;
close(f);
end;
procedure kiir(i:longint);
var j:longint;
begin
assign(g,'scmax.out');
rewrite(g);
writeln(g,hosz[i]);
for j:=1 to hosz[i] do
begin
write(g,v[i],' ');
i:= os[i];
end;
close(g);
end;
{fooooo}
begin
beolvas(v);
hosz[n]:=1;
os[n]:=0;
for i:=n-1 downto 1 do
begin
maximum:=0;
for j:=i+1 to n do
begin
if v[i]<v[j] then begin if hosz[j]>maximum then begin
os[i]:=j;
maximum:=hosz[j];
end;
hosz[i]:=maximum+1;
end;
end;
if hosz[i]=0 then begin hosz[i]:=1; os[i]:=0; end;
end;
i:=1;
for j:=2 to n do
if hosz[j]>hosz[i] then i:=j;
kiir(i);
end.