/******************************************************************************
                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
template<class T> using ordered_multiset = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>;
int main()
{
    int n;
    cin>>n;
    int arr[n];
    ordered_multiset<int> left;
    ordered_multiset<int> right;
    for(int i =0;i<n;i++){
        cin>>arr[i];
        right.insert(arr[i]);
    }
    int cnt = 0;
    for(int i =0;i<n;i++){
        int l = left.order_of_key(arr[i]);
        int r = right.order_of_key(arr[i]);
        cnt+=l*r;
        left.insert(arr[i]);
        right.erase(right.find_by_order(right.order_of_key(arr[i])));
    }
    cout<<cnt;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |