This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int main(){
cin.tie(0);ios::sync_with_stdio(0);
//1.
int n, q;
//2.
cin >> n;
int v[n], l[n];
vector <int> op(n + 1);
op[0] = 0;
//3.
for(int i = 0; i < n; i++){
cin >> v[i];
op[i + 1] = 1;
int v1 = v[i];
while(v[i] % 2 == 0 && v[i] > 0){
v[i] /= 2;
op[i + 1] *= 2;
}
l[i] = v[i];
v[i] = v1;
}
for(int i = 1; i <= n; i++) op[i] += op[i - 1];
vector <int> pt(32);
pt[0] = 1;
for(int i = 1; i < 32; i++) pt[i] = pt[i - 1] * 2;
cin >> q;
for(int ii = 0; ii < q; ii++){
int x; cin >> x;
auto it = --upper_bound(op.begin(), op.end(), x);
int p = it - op.begin();
if(op[p] < x) p++;
p--;
//cout << x << " este un subordonat al nr " << v[p] << endl;
//cout << " -- > cu nr " << l[p] << endl;
cout << l[p] << endl;
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |