Submission #1243501

#TimeUsernameProblemLanguageResultExecution timeMemory
1243501miniobIntercastellar (JOI22_ho_t1)C++20
100 / 100
166 ms7064 KiB
#include <bits/stdc++.h> using namespace std; long long pow2[200007]; long long odd[200007]; long long pref[200007]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); long long n, q; cin >> n; for(int i = 1; i <= n; i++) { long long x; cin >> x; pow2[i] = 1; while(x % 2 == 0) { pow2[i] *= 2; x /= 2; } odd[i] = x; pref[i] = pref[i - 1] + pow2[i]; } cin >> q; while(q--) { long long x; cin >> x; long long l, r; l = 1, r = n; while(l < r) { long long sr = (l + r) / 2; if(pref[sr] >= x) { r = sr; } else { l = sr + 1; } } cout << odd[l] << endl; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...