Cod sursa(job #708347)
Utilizator | emperor emperorofheaven | Data | 6 martie 2012 19:03:45 |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 0 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 1.47 kb |
program scmax;
uses crt;
var fi,fo:text;
a,b,c,d:array[1..100000] of longint;
i,j,n,max,m:longint;
t:boolean;
begin
assign(fi,'scmax.in');reset(fi);
assign(fo,'scmax.out');rewrite(fo);
readln(fi,n); b[1]:=1;
for i:=1 to n do read(fi,a[i]);
for i:=2 to n do begin
t:=false;
for j:=i-1 downto 1 do if a[j]<a[i] then begin
b[i]:=b[j]+1;
t:=true;
c[i]:=j;
break;
end;
if t=false then begin
b[i]:=1;
c[i]:=1;
end;
end;
max:=0;
for i:=1 to n do if c[i]>max then begin
max:=c[i];
j:=i;
end;
max:=0;
for i:=1 to n do if c[i]>max then max:=c[i];
m:=a[j]; i:=1;
while max>1 do begin
d[i]:=m;
j:=c[j];
m:=a[j];
max:=max-1;
i:=i+1;
end;
for j:=i-1 downto 1 do write(fo,d[j],' ');
close(fi);
close(fo);
end.