const fin='phanso1229.inp'; fon='phanso1229.out'; type ps=record t,m:int64; end; var x:array[1..1000000] of ps; n:longint; procedure doc; var i:longint; begin readln(n); for i:=1 to n do read(x[i].t); readln; for i:=1 to n do read(x[i].m); end; procedure swap(var x,y:ps); var tam:ps; begin tam:=x; x:=y; y:=tam; end; function ss( x,y:ps):longint; VAR x1,y1:ps; begin x1:=x;y1:=y; if x.m<0 then begin x1.m:=-x.m; x1.t:=-x.t; end; if y.m<0 then begin y1.m:=-y.m; y1.t:=-y.t; end; if (x1.t*y1.m)>(y1.t*x1.m) then exit (1); if (x1.t*y1.m)<(y1.t*x1.m) then exit(-1); if x.t<y.t then exit(-1); if x.t>y.t then exit(1); exit(0) ; end; procedure qs(l,r: longint); var i,j: longint; g:ps; begin g:= x[l+random(r-l)+1]; i:=l; j:=r; repeat while ss(x[i],g)=-1 do inc(i); while ss(x[j],g)=1 do dec(j); if i<=j then begin swap(x[i],x[j]); inc(i); dec(j); end; until i>j; if l<j then qs(l,j); if i<r then qs(i,r); end; procedure xuli; var i:longint; s,k:qword; begin if n=1 then begin writeln(x[i].t); write(x[i].m); exit; end; qs(1,n); for i:=1 to n do if x[i].t<>0 then write(x[i].t,' '); writeln; for i:=1 to n do if x[i].t<>0 then write(x[i].m,' '); end; begin assign(input,fin);reset(input); assign(output,fon);rewrite(output); doc; xuli; end.
* Chuyên dạy lập trình ONLINE cho học sinh THCS, THPT *.
Mọi giao lưu, trao đổi, xin liên hệ: Lê Quang Vinh - zalo: 037.803.8755.
Page: Lớp học Code Sky
Group FB1: Ôn thi HSG9 - THTB - TS10 chuyên tin
Group FB2: Học Scratch - Ôn thi Tin học trẻ bảng A
Thứ Bảy, 4 tháng 12, 2021
PHANSO1229 PASCAL
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.