Submission #1191056

#TimeUsernameProblemLanguageResultExecution timeMemory
1191056Cebrayil09Mountains (NOI20_mountains)C++20
36 / 100
2094 ms3424 KiB
#include <bits/stdc++.h> using namespace std; #define pii pair < int , int > #define eb emplace_back #define pb push_back #define int long long #define fi first #define se second const int inf = 1e18; void solve() { int n; cin >> n; vector<int> v(n+1); for(int i = 1;i <= n;i++) cin >> v[i]; vector<pii> a; a.eb(v[1], 0); int ans = 0; for(int i = 2;i <= n;i++) { int res = 0; int l = 0 , r = a.size()-1, in = -1; while(l <= r) { int mid = l + (r-l)/2; if(a[mid].fi > v[i]) { in = mid; r = mid-1; } else l = mid+1; } if(in != -1) { for(int j = in;j < a.size();j++) { ans += a[j].se; } } l = 0, r = a.size()-1, in = -1; while(l <= r) { int mid = l + (r-l)/2; if(a[mid].fi < v[i]) { in = mid; l = mid+1; } else r = mid-1; } a.eb(v[i], in+1); sort(a.begin(), a.end()); } cout << ans << "\n"; } signed main() { ios_base::sync_with_stdio(0); cout.tie(0); int t = 1; //cin >> t; while(t--) solve(); }
#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...