제출 #1137022

#제출 시각아이디문제언어결과실행 시간메모리
1137022TheInvadrMountains (NOI20_mountains)C++20
100 / 100
771 ms21548 KiB
/******************************************************************************

                              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;
    long long int arr[n];
    ordered_multiset<long long int> left;
    ordered_multiset<long long int> right;
    for(int i =0;i<n;i++){
        cin>>arr[i];
        right.insert(arr[i]);
    }
    long long int cnt = 0;
    for(int i =0;i<n;i++){
        long long int l = left.order_of_key(arr[i]);
        long long 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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...