#include <bits/stdc++.h>
using namespace std;
int n,a[100005],b[100005],c[100005];
void nhap()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
a[i]=a[i]*a[i];
}
for(int i=1;i<=n;i++)
{
cin>>b[i];
b[i]=b[i]*b[i];
}
for(int i=1;i<=n;i++)
{
cin>>c[i];
c[i]=c[i]*c[i];
}
}
int chat_max(int l,int r,int x)
{
int kq=0;int mid;
while(l<=r)
{
mid=(l+r)/2;
//cout<<"-"<<l<<" "<<r<<" "<<mid<<endl;
if(a[mid]<=x)
{
if(a[mid]==x)kq=mid;
l=mid+1;
}
else r=mid-1;
}
return kq;
}
int chat_min(int l,int r,int x)
{
int kq=0,mid;
while(l<=r)
{
mid=(l+r)/2;
if(a[mid]>=x)
{
if(a[mid]==x) kq=mid;
r=mid-1;
}
else l=mid+1;
}
return kq;
}
void giai()
{
int x,y;
sort(a+1,a+1+n);
// for(int i=1;i<=n;i++) cout<<a[i]<<" ";
// cout<<endl;
// cout<<endl;
int res=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{
// cout<<b[i]<<" "<<c[j]<<endl;
x=chat_min(1,n,b[i]+c[j]);
y=chat_max(1,n,b[i]+c[j]);
// cout<<x<<" "<<y<<endl;
if(x>0) res=res+y-x+1;
x=chat_min(1,n,abs(b[i]-c[j]));
y=chat_max(1,n,abs(b[i]-c[j]));
if(x>0) res=res+y-x+1;
}
cout<<res;
}
int main()
{
freopen("tgv874.inp","r",stdin);
freopen("tgv874.out","w",stdout);
nhap();
giai();
}
* 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ứ Tư, 27 tháng 4, 2022
TGV874 C++
Đă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.