#include<bits/stdc++.h>
using namespace std;
long long n,a[4001],b[4001],c[4001],d[4001],q[16000001],x,ans;
int lower(long long a[],long long l,long long r,long long x)
{
while(l<r)
{
int mid=(l+r)/2;
if(a[mid]>=x) r=mid;
else l=mid+1;
}
return l;
}
int upper(long long a[],long long l,long long r,long long x)
{
while(l<r)
{
int mid=(l+r)/2;
if(a[mid]>x) r=mid;
else l=mid+1;
}
return l;
}
int main()
{
ios::sync_with_stdio(0);
while(cin>>n)
{
x=ans=0;
memset(q,0,sizeof(q));
for(int i=1;i<=n;i++)
cin>>a[i]>>b[i]>>c[i]>>d[i];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
q[++x]=a[i]+b[j];
sort(q+1,q+x+1);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
ans+=upper(q,1,x,-c[i]-d[j])-lower(q,1,x,-c[i]-d[j])<<' ';
cout<<ans<<"\n\n";
}
return 0;
}
题解Pass,提交却RE我太cout<<sqrt(−1);了