Pagini recente » Cod sursa (job #2613092) | Profil TroleibuzulSA | Cod sursa (job #506321) | Cod sursa (job #455873) | Cod sursa (job #186598)
Cod sursa(job #186598)
var a,p,v:array[1..100000] of longint;
i,j,n,pp,max:longint;
begin
assign(input,'scmax.in'); reset(input); assign(output,'scmax.out'); rewrite(output);
readln(n);
for i:=1 to n do read(a[i]);
v[n]:=1;
p[n]:=0;
max:=1; pp:=n;
for i:=n-1 downto 1 do
begin
v[i]:=1; p[i]:=0;
for j:=i+1 to n do
if (a[j]>a[i])and(v[j]+1>v[i]) then
begin
v[i]:=v[j]+1;
p[i]:=j;
end;
if v[i]>max then
begin
max:=v[i]; pp:=i;
end;
end;
writeln(max); i:=pp;
while i<>0 do
begin
write(a[i],' '); i:=p[i];
end;
close(input); close(output);
end.