Submission #1193108

#TimeUsernameProblemLanguageResultExecution timeMemory
1193108loomMountains (NOI20_mountains)C++20
100 / 100
369 ms26264 KiB
#include <bits/stdc++.h> using namespace std; #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; #define ordered_set tree<pair<long long,long long>, null_type,less<pair<long long,long long> >, rb_tree_tag,tree_order_statistics_node_update> signed main(){ ios_base::sync_with_stdio(0); cin.tie(NULL);cout.tie(NULL); int n; cin>>n; long long h[n]; for(int i=0; i<n; i++){ cin>>h[i]; } long long ans = 0; ordered_set set; long long low[n], high[n]; for(int i=0; i<n; i++){ set.insert({h[i],i}); low[i] = set.order_of_key({h[i],-1}); } set.clear(); for(int i=n-1; i>=0; i--){ set.insert({h[i],i}); high[i] = set.order_of_key({h[i], -1}); } for(int i=0; i<n; i++) ans += low[i]*high[i]; cout<<ans; return 0; }
#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...