Pagini recente » Cod sursa (job #1969405) | Cod sursa (job #2599383) | Cod sursa (job #2075654) | Cod sursa (job #2630674) | Cod sursa (job #180491)
Cod sursa(job #180491)
program subs2;
var v,a,t:array[1..5000] of longint;
n,i,min,nr,poz,max,minaj,j:longint;
f,g:text;
ok:boolean;
begin
assign(f,'subsir2.in');reset(f);
assign(g,'subsir2.out');rewrite(g);
readln(F,n);
for i:=1 to n do
begin
read(f,v[i]);
t[i]:=i;
end;
max:=0;
for i:=n downto 1 do
begin
ok:=true;
min:=1000000;
minaj:=1000000;
for j:=i+1 to n do
if v[j]<=min then
if (v[i]<=v[j]) and (a[j]<=minaj) then
begin
minaj:=a[j];
min:=v[j];
t[i]:=j;
ok:=false;
end;
if ok then
a[i]:=1
else a[i]:=minaj+1;
if a[i]>max then
begin max:=a[i]; poz:=i; end
else
if a[i]=max then
if a[i]<=a[poz] then
begin max:=a[i]; poz:=i; end;
end;
writeln(g,a[poz]);
nr:=a[poz]; i:=poz;
while nr>0 do
begin
write(g,i,' ');
i:=t[i];
nr:=nr-1;
end;
close(g);
end.