Submission #1190932

#TimeUsernameProblemLanguageResultExecution timeMemory
1190932vusalMountains (NOI20_mountains)C++20
100 / 100
426 ms45048 KiB
#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; using pii = pair<int,int>; #define int long long typedef tree <int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> indexed_set; const int oo = 1e18; const int MAXN = 1e5 + 7; void _() { int n; cin >> n; vector<int>v(n); for(int &i : v) cin >> i; vector<int>l(n), r(n); indexed_set leftset; indexed_set rightset; for(int i = 0; i < n; i++) { l[i] = leftset.order_of_key(v[i]); leftset.insert(v[i]); } for(int i = n - 1; i >= 0; i--) { r[i] = rightset.order_of_key(v[i]); rightset.insert(v[i]); } int sum = 0; for(int i = 0; i < n; i++) { sum += (1LL * l[i] * r[i]); } cout << sum << endl; } signed main() { int tt = 1; // cin >> tt; while(tt--) _(); }
#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...