Pagini recente » Cod sursa (job #245344) | Monitorul de evaluare | Monitorul de evaluare | Diferente pentru utilizator/stargold2 intre reviziile 187 si 186 | Cod sursa (job #609964)
Cod sursa(job #609964)
var a,l,le:array[0..100000] of longint;
f,g:text;
i,j,n,max,pmax:longint;
begin
assign(f,'scmax.in');reset(f);
assign(g,'scmax.out');rewrite(g);
read(f,n);
for i:=1 to n do read(f,a[i]);
l[0]:=0;
for i:=1 to n do
for j:=0 to i-1 do
if (a[j]<a[i])and(l[j]+1>l[i]) then
begin
l[i]:=l[j]+1;
le[i]:=j;
end;
max:=0;
for i:=1 to n do
if max<l[i] then
begin
max:=l[i];
pmax:=i;
end;
writeln(g,max);
n:=max;
while pmax>0 do
begin
l[max]:=a[pmax];
dec(max);
pmax:=le[pmax];
end;
for i:=1 to n-1 do write(g,l[i],' ');
writeln(g,l[n]);
close(f);
close(g);
end.