Pagini recente » Cod sursa (job #2815457) | Cod sursa (job #3200187) | Cod sursa (job #7110) | Cod sursa (job #2538902) | Cod sursa (job #270610)
Cod sursa(job #270610)
type refa = ^a1;
a1 = record
val : longint;
urm : refa;
end;
var el,primu,ultimu : refa;
i,n,b,max1,max,j : longint;
fin,fout : text;
begin
assign(fin,'scmax.in');
reset(fin);
assign(fout,'scmax.out');
rewrite(fout);
read(fin,n);
read(fin,el^.val);
el^.urm := nil;
primu := el;
ultimu := el;
max := 1;
while not eof(fin) do begin
read(fin,b);
if el^.val < b then begin
ultimu := el;
new(el);
el^.val := b;
ultimu^.urm := el;
max := max +1;
j := j +1;
end
else if el^.val > b then begin
if max > max1 then begin
max1 := max;
end;
ultimu := el;
new(el);
ultimu^.urm := el;
el^.val := b;
j := j +1;
end else n := n -1;
end;
if max > max1 then begin
max1 := max;
end;
writeln(fout,max1);
el := primu;
for i := 1 to n do begin
if i = j+2 then begin
break;
end
else if i >= n - j + 1 then
write(fout,el^.val,' ');
el := el^.urm;
end;
close(fin);
close(fout);
end.