Submission #1243654

#TimeUsernameProblemLanguageResultExecution timeMemory
1243654Sam_arvandiIntercastellar (JOI22_ho_t1)C++20
100 / 100
73 ms8516 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef pair<ll, ll> pii;

#define FOR(i, j, n) for (ll i = j; i<= n; i++)
#define ROF(i, n, j) for (ll i = n; i>= j; i--)
#define pb push_back
#define mp make_pair
#define S second
#define F first
#define IOS ios_base :: sync_with_stdio(0); cin.tie(0); cout.tie(0)

/*
#pragma GCC optimization("Ofast, unroll-loops")
#pragma GCC target("avx2")
#pragma GCC target("bmi")
#pragma GCC target("bmi2")
#pragma GCC target("lzcnt")
*/

const ll mn = 2e5 + 5;
ll a[mn], f[mn], par[mn], b[mn];

signed main()
{
        IOS;
        ll n, q;
        cin >> n;
        FOR(i,1 , n)
        {
                cin >> a[i];
        }
        FOR(i,1 , n)
        {
                ll t = 1, tmp = a[i];
                while (tmp%2 == 0)
                {
                        tmp /= 2;
                        t *= 2;
                }
                f[i] = tmp;
                b[i] = t;
        }
        FOR(i, 1, n)
        {
                par[i] = par[i-1]+b[i];
        }

        cin >> q;
        while (q--)
        {
                ll x;
                cin >> x;
                ll ind = lower_bound(par+1, par+n+1, x)-par;
                cout << f[ind] << "\n";
        }


        return 0;
}

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