const fin='tgv874.inp'; fon='tgv874.out'; var i,n,k,j,ans,l,r,mid:longint; a,b,c,d,f:array [0..100000] of int64; procedure sort(l,r:longint); var i,j,x,t:longint; begin i:=l;j:=r; x:=a[random(r-l)+l+1]; repeat while x>a[i] do inc(i); while x<a[j] do dec(j); if i<=j then begin t:=a[i];a[i]:=a[j];a[j]:=t; inc(i);dec(j); end; until i>j; if i<r then sort(i,r); if l<j then sort(l,j); end; function chat_max(i,j,x:longint):longint; var l,r,mid,kq:longint; begin kq:=0; l:=i;r:=j; while l<=r do begin mid:=(l+r) div 2; if (a[mid]<=x) then begin if a[mid]=x then kq:=mid; l:=mid+1; end else r:=mid-1; end; exit(kq); end; function chat_min(i,j,x:longint):longint; var l,r,mid,kq:longint; begin kq:=0; l:=i;r:=j; while l<=r do begin mid:=(l+r) div 2; if (a[mid]>=x) then begin if a[mid]=x then kq:=mid; r:=mid-1; end else l:=mid+1; end; exit(kq); end; procedure giai; var left,right,res:longint; begin sort(1,n); res:=0; for i:=1 to n do for j:=1 to n do begin left:=chat_min(1,n,b[i]+c[j]); right:=chat_max(1,n,b[i]+c[j]); if left>0 then res:=res+right-left+1; left:=chat_min(1,n,abs(b[i]-c[j])); right:=chat_max(1,n,abs(b[i]-c[j])); if left>0 then res:=res+right-left+1; end; write(res); end; begin assign(input,fin);reset(input); assign(output,fon);rewrite(output); readln(n); for i:=1 to n do begin read(a[i]); a[i]:=a[i]*a[i]; end; for i:=1 to n do begin read(b[i]); b[i]:=b[i]*b[i]; end; for i:=1 to n do begin read(c[i]); c[i]:=c[i]*c[i]; end; giai; //writeln(ans); 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ứ Năm, 5 tháng 5, 2022
TGV874 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.