Submission #1262906

#TimeUsernameProblemLanguageResultExecution timeMemory
1262906s3rena_ccIntercastellar (JOI22_ho_t1)C++20
100 / 100
40 ms6980 KiB
#include <iostream> #include <vector> using namespace std; #define ll long long int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); ll n; cin >> n; vector<ll> arr(n); vector<ll> finalPosOfSeg(n); ll currPos = 0; for (ll i = 0; i < n; i++) { cin >> arr[i]; ll cnt = 0; while (arr[i] % 2 == 0) { // keep dividing until odd cnt++; arr[i] /= 2; } currPos += (1LL << cnt); // use bit shift instead of pow finalPosOfSeg[i] = currPos - 1; } ll q; cin >> q; vector<ll> xs(q); for (ll i = 0; i < q; i++) { cin >> xs[i]; } ll l = 0; for (ll i = 0; i < q; i++) { ll x = xs[i] - 1; // convert to 0-index while (finalPosOfSeg[l] < x) { l++; } cout << arr[l] << "\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...