Cod sursa(job #600338)
Utilizator | UAIC.VlasCatalin ctlin04 | Data | 1 iulie 2011 14:09:35 |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 70 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.98 kb |
program subsir_crescator;
var a,b:array[1..100000] of longint;
p,n,i,j,k,max,l:longint;
fi,fo:text;
begin
assign(fi,'scmax.in');
reset(fi);
readln(fi,n);
assign(fo,'scmax.out');
rewrite(fo);
for i:=1 to n do read(fi,a[i]);
b[n]:=1;
for i:=n-1 downto 1 do begin
p:=i;b[i]:=0;
for j:=i+1 to n do
if (a[j]>a[i]) and (b[j]>b[p]) then p:=j;
b[i]:=b[p]+1;
end;
p:=1;
for i:=2 to n do
if b[i]>b[p] then p:=i;
writeln (fo,b[p]);
write(fo,a[p],' ');
max:=b[p]; l:=1;
for i:=p+1 to n do
if (b[i]=max-l) and (a[i]>a[p]) then begin
write(fo,a[i],' ');
p:=i;
inc(l);
end;
close(fo);
end.