Submission #1089574

#TimeUsernameProblemLanguageResultExecution timeMemory
1089574VMaksimoski008Bubble Sort 2 (JOI18_bubblesort2)C++17
0 / 100
9035 ms2604 KiB
#include "bubblesort2.h" #include <bits/stdc++.h> using namespace std; using pii = pair<int, int>; const int maxn = 5e5 + 5; int tree[maxn], n; void update(int p, int v) { for(p++; p<n; p+=p&-p) tree[p] += v; } int query(int p) { int ans = 0; for(p++; p; p-=p&-p) ans += tree[p]; return ans; } vector<int> countScans(vector<int> A, vector<int> X, vector<int> V) { n = A.size(); int q = X.size(); vector<int> ans(q); for(int it=0; it<q; it++) { A[X[it]] = V[it]; for(int i=0; i<n+5; i++) tree[i] = 0; vector<pii> vec; for(int i=0; i<n; i++) vec.push_back({ A[i], i }); sort(vec.begin(), vec.end(), [&](pii &a, pii &b) { if(a.first != b.first) return a.first > b.first; return a.second > b.second; }); for(auto &[val, i] : vec) { ans[it] = max(ans[it], query(i)); update(i, 1); } } return 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...