Submission #1192027

#TimeUsernameProblemLanguageResultExecution timeMemory
1192027ismailliwIntercastellar (JOI22_ho_t1)C++20
25 / 100
199 ms3936 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main() {

    int n;
    cin >> n;

    vector<pair<ll, int>> nums(n);
    ll cur = 1;
    for(int i = 0; i < n; i++) {

        int insert;
        cin >> insert;

        ll amt = 0;
        while(insert % 2 == 0) {

            insert /= 2;
            amt++;

        }
        nums[i] = {cur, insert};
        cur += pow(2, amt);

    }

    int m;
    cin >> m;

    for(int i = 0; i < m; i++) {

        int insert;
        cin >> insert;

        int l = 0, r = n - 1;
        while(l < r) {

            int mid = (l + r + 1) / 2;

            if(nums[mid].first <= insert) {

                l = mid;

            } else {

                r = mid - 1;

            }

        }

        cout << nums[l].second << endl;

    }

}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...