Pagini recente » Cod sursa (job #2709147) | Cod sursa (job #352813) | Cod sursa (job #1854405) | Infoarena Monthly 2012 - Runda 6 - Solutii | Cod sursa (job #844800)
Cod sursa(job #844800)
program subsir_crescator_maxim;
var f1,f2:text;
n,lmax,i:longint;
a,l,d,min:array [0..100000] of longint;
begin
assign(f1,'scmax.in');
reset(f1);
assign(f2,'scmax.out');
rewrite(f2);
readln(f1,n);
for i:=1 to n do read(f1,a[i]);
for i:=1 to n do min[i]:=2000000001;
l[1]:=1; d[1]:=0;
min[1]:=a[1]; lmax:=1;
for i:=2 to n do
begin
l[i]:=lmax;
while (min[l[i]]>=a[i]) and (l[i]>0) do dec(l[i]);
inc(l[i]);
if l[i]>lmax then lmax:=l[i];
if a[i]<min[l[i]] then min[l[i]]:=a[i];
end;
writeln(f2,lmax);
for i:=1 to lmax do write(f2,min[i],' ');
close(f1);
close(f2);
end.