Pagini recente » Cod sursa (job #1848538) | Cod sursa (job #2700900) | Cod sursa (job #73588) | Cod sursa (job #1693404) | Cod sursa (job #1228415)
program interclaseri;
type
tabel=array[0..2000000] of longint;
var
t,c:tabel;
n,m,i,j,k,x:longint;
f1,f2:text;
procedure interclaseaza(s,m,d:longint); forward;
procedure mergesort(s,d:longint);
var
m:longint;
begin
if s<d then begin
m:=(s+d) div 2;
mergesort(s,m);
mergesort(m+1,d);
interclaseaza(s,m,d);
end;
end;
procedure interclaseaza(s,m,d:longint);
var
i,j,k:longint;
begin
i:=s; j:=m+1; k:=0;
while (i<=m) and (j<=d) do
if t[i]<t[j] then begin inc(k); c[k]:=t[i]; inc(i); end else
begin inc(k); c[k]:=t[j]; inc(j); end;
while (i<=m) do begin inc(k); c[k]:=t[i]; inc(i); end;
while (j<=d) do begin inc(k); c[k]:=t[j]; inc(j); end;
k:=0;
for i:=s to d do begin
k:=k+1;
t[i]:=c[k];
end;
end;
begin
assign (f1,'interclasari.in');
assign (f2,'interclasari.out');
reset (f1);
rewrite (f2);
readln (f1,n);
k:=0;
for i:=1 to n do begin
readln (f1,m);
for j:=1 to m do begin
k:=k+1;
read (f1,x);
t[k]:=x;
end;
end;
mergesort(1,k);
writeln (f2,k);
for i:=1 to k do
write (f2,t[i],' ');
close (f1);
close (f2);
end.