이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pii pair<long long, long long>
#define fr first
#define se second
int32_t main() {
int n;
cin >> n;
vector<int> v(n);
vector<pii> g(n);
for (int i = 0; i < n; i++) {
cin >> v[i];
int qtd = 1;
while (!(v[i] & 1LL)) {
v[i] >>= 1;
qtd <<= 1;
}
g[i] = {v[i], qtd};
}
int q;
cin >> q;
vector<pii> queries(q);
for (int i = 0; i < q; i++) {
int x;
cin >> x;
queries[i] = {x, i};
}
sort(queries.begin(), queries.end(), greater<pii>());
vector<int> ans(q);
int qtd = 0;
for (int i = 0; i < n; i++) {
qtd += g[i].se;
while (!queries.empty() && (qtd >= queries.back().fr)) {
ans[queries.back().se] = g[i].fr;
queries.pop_back();
}
}
for (auto u : ans) cout << u << "\n";
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |