AcWing 1236. 递增三元组
原题链接
中等
作者:
好烂人
,
2025-04-10 00:07:18
· 江苏
,
所有人可见
,
阅读 1
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 1e5 + 10;
int a[N], b[N], c[N];
int n;
typedef long long LL;
int main()
{
cin>>n;
for(int i = 0; i < n; i ++) cin>>a[i];
for(int i = 0; i < n; i ++) cin>>b[i];
for(int i = 0; i < n; i ++) cin>>c[i];
sort(a, a + n);
sort(b, b + n);
sort(c, c + n);
LL res = 0;
int a1 = 0; int c1 = 0;
for(int i = 0; i < n; i ++)
{
while(a1 < n && a[a1] < b[i]) a1 ++;
while(c1 < n && c[c1] <= b[i]) c1 ++;
res += (LL)(a1) * (n - c1);
}
cout<<res;
return 0;
}