二分
include[HTML_REMOVED]
include[HTML_REMOVED]
using namespace std;
const int N=1e5+10;
int a[N];
int b[N];
int c[N];
int n;
long long int res=0;
bool cmp(int t,int u){
return t[HTML_REMOVED]>1;
while(l[HTML_REMOVED]>1;
if(a[middle]<=x) l=middle;
else r=middle-1;
}
return l;
}
int search_c(int x){
int l=1;
int r=n;
int middle=(l+r+1)>>1;
while(l[HTML_REMOVED]>1;
if(c[middle]<=x) l=middle;
else r=middle-1;
}
return r;
}
int main(void){
cin>>n;
for(int i=1;i<=n;i){
scanf(“%d”,&a[i]);
}
for(int i=1;i<=n;i){
scanf(“%d”,&b[i]);
}
for(int i=1;i<=n;i){
scanf(“%d”,&c[i]);
}
sort(a+1,a+n+1,cmp);
sort(c+1,c+n+1,cmp);
for(int i=1;i<=n;i){
int x=b[i];
int k=search_a(b[i]);
while(a[k]>=b[i]&&k>=1) k–;
int t=search_c(b[i]);
while(c[t]<=b[i]&&t<=n) t++;
res+=(long long int )k*(n-t+1);
}
cout<<res<<endl;
return 0;
}