Pagini recente » Cod sursa (job #182437) | Borderou de evaluare (job #2793817) | Borderou de evaluare (job #1631374) | Borderou de evaluare (job #2287842) | Cod sursa (job #830375)
Cod sursa(job #830375)
var v,lung,urm:array[1..100] of integer;
i,j,l,max,max_p:integer;
fi,fo:text;
begin
assign(fi,'scmax.in'); reset(fi);
assign(fo,'scmax.out'); rewrite(fo);
readln(fi,l);
for i:=1 to l do
begin
read(fi,v[i]);
lung[i]:=1;
urm[i]:=-1;
end;
for i:=l downto 1 do
for j:=i+1 to l do
begin
if v[i]<v[j] then
if lung[i]<1 + lung[j] then
begin
lung[i]:=1 + lung[j];
urm[i]:=j;
end;
end;
max:=-1;
for i:=1 to l-1 do
if lung[i]>max then
begin
max:=lung[i];
max_p:=i;
end;
writeln(fo,max);
while urm[max_p]<>-1 do
begin
write(fo,v[max_p],' ');
max_p:=urm[max_p];
end;
readln;
close(fi);
close(fo);
end.