Submission #1191410

#TimeUsernameProblemLanguageResultExecution timeMemory
1191410ulvixMountains (NOI20_mountains)C++20
100 / 100
529 ms21568 KiB
#include<bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #define ll long long #define all(x) x.begin(),x.end() const ll sz=1e5+100; const ll mod=1e9+7; const ll INF=1e18; using namespace std; using namespace __gnu_pbds; template<class T> using indexed_multiset=tree<T,null_type,less_equal<T>,rb_tree_tag,tree_order_statistics_node_update>; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); ll n; cin>>n; indexed_multiset<ll> l; indexed_multiset<ll> r; vector<ll> v(n); for(ll i=0;i<n;i++){ cin>>v[i]; r.insert(v[i]); } ll ans=0; for(ll i=0;i<n;i++){ r.erase(r.find_by_order(r.order_of_key(v[i]))); l.insert(v[i]); ll idx=l.order_of_key(v[i]); ll idx1=r.order_of_key(v[i]); ans+=idx*idx1; } cout<<ans; }
#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...