蓝桥训练赛

#include
using namespace std;
typedef long long ll;
int main(void)
{
    cin.tie(0);
    int n;
    cin >> n;
    vector <int> a(n),b(n),c(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.begin(),a.end());
    sort(b.begin(),b.end());
    sort(c.begin(),c.end());
    ll ans = 0;
    for(int i = 0; i< n; i++)
    {
        int ca = lower_bound(a.begin(),a.end(),b[i]) - a.begin();
        int cc = n - (upper_bound(c.begin(),c.end(),b[i]) - c.begin());
        ans += ca*cc;
    }
    cout << ans << endl;
}

你可能感兴趣的:(二分答案)