제출 #1318539

#제출 시각아이디문제언어결과실행 시간메모리
1318539vnhbestBubble Sort Machine (JOI25_bubble)C++20
0 / 100
457 ms11568 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 = sz; while (l <= r) { ll mid = (l + r) / 2; ll temp = one[mid] - min(k, pref_2[mid]); //cout << mid << " " << temp << endl; if (temp >= a) { r = mid - 1; res = mid; }// 1 3 4 else { l = mid + 1; } } return sz - res; } 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(); //cout << sz << endl; 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--; ll temp = bs(a); temp -= bs(b + 1); cout << ((b - a + 1) - temp) * 2 + temp << endl; } } 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...