#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define all(c) c.begin(), c.end()
#define rall(c) c.rbegin() c.rend()
const int N = 200010;
int n, q, a[N];
ll pref[N];
void solve(){
cin >> n;
for(int i = 0; i<n; i+=1){
cin >> a[i];
int find = a[i];
while(!(a[i]%2)) a[i] /= 2;
pref[i] = pref[i-1] + find/a[i];
}
cin >> q;
for(int i = 0; i<q; i+=1){
ll x;
cin >> x;
int tru = lower_bound(pref + 1, pref+n+1, x) - pref;
cout << a[tru] << '\n';
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
solve();
return 0;
}
/*
Task 1 :
16
536870912
402653184
536870912
536870912
134217728
536870912
671088640
536870912
536870912
536870912
939524096
805306368
536870912
956301312
536870912
536870912
5
2500000000
3355443201
4294967296
5111111111
6190792704
Sample output for the following :->
5
1
7
57
1
Task 2 :
4
14
9
8
12
6
2
3
5
7
11
13
Output for the following input :
7
9
1
1
1
3
Task 3 :->
13
1
4
1
4
2
1
3
5
6
2
3
7
3
8
2
10
11
13
15
17
18
20
Sample output for the following :->
1
1
1
1
5
3
1
3
*/
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
204 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
204 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
204 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |