作者:
那必须得是我了
,
2023-01-20 23:21:31
,
所有人可见
,
阅读 6
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long LL;
const int N = 1e5+10;
int a[N],b[N],c[N];
int n;
LL ans;
int main()
{
scanf("%d", &n);
for(int i=0;i<n;i++)
scanf("%d", &a[i]);
sort(a,a+n);
for(int i=0;i<n;i++)
scanf("%d", &b[i]);
for(int i=0;i<n;i++)
scanf("%d", &c[i]);
sort(c,c+n);
for(int i=0;i<n;i++)
{
auto ita = upper_bound(a,a+n,b[i]-1);//找到比b[i]小的a[i]的位置
auto itc = lower_bound(c,c+n,b[i]+1);//找到比b[i]大的c[i]的位置
ans += (ita - a) * (c+n-itc);//乘法原理
}
cout<<ans<<endl;
return 0;
}