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.