Submission #1318517

#TimeUsernameProblemLanguageResultExecution timeMemory
1318517vnhbestBubble Sort Machine (JOI25_bubble)C++20
0 / 100
133 ms11768 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long ll n, k = 0; vector <ll> vec, pref_2, one; ll sz; ll bs (ll a) { ll l = 0, r = sz - 1, res = -1; while (l <= r) { ll mid = (l + r) / 2; ll temp = one[mid] - min(k, pref_2[mid]); if (temp <= a) { l = mid + 1; res = mid; } else { r = mid - 1; } } return res + 1; } int main () { ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin >> n; for (ll i = 0; i < n; i++) { ll a; cin >> a; vec.push_back(a); } ll temp = 0; for (ll i = 0; i < n; i++) { if (vec[i] == 2) { temp++; } pref_2.push_back(temp); if (vec[i] == 1) { one.push_back(i); } } sz = one.size(); ll q; cin >> q; while (q--) { ll skibidi_dopdop; cin >> skibidi_dopdop; if (skibidi_dopdop == 1) { k++; } else { ll a, b; cin >> a >> b; a--;b--; if (a - 1 < 0) { ll temp = bs(b); cout << ((b - a + 1) - temp) * 2 + temp << "\n"; } else { ll temp = bs(b); temp -= bs(a - 1); cout << ((b - a + 1) - temp) * 2 + temp << "\n"; } } } 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...