Submission #693146

#TimeUsernameProblemLanguageResultExecution timeMemory
693146etheningIntercastellar (JOI22_ho_t1)C++17
25 / 100
55 ms5608 KiB
#include "bits/stdc++.h" using namespace std; using ll = long long; using pii = pair<int, int>; int main() { cin.tie(0)->sync_with_stdio(0); int n; cin >> n; vector<int> a(n + 5); for (int i = 1; i <= n; i++) { cin >> a[i]; } int q; cin >> q; vector<pii> que(q + 5); vector<int> ans(q + 5); for (int i = 1; i <= q; i++) { cin >> que[i].first; que[i].second = i; } sort(que.begin() + 1, que.begin() + q + 1); // for (int i = 1; i <= q; i++) { // cout << que[i].first << " " << que[i].second << "$$" << endl; // } int pnt1 = 1; int cnt = 0; for (int i = 1; i <= n; i++) { int cnt2 = 1; while (a[i] % 2 == 0) { a[i] /= 2; cnt2 *= 2; // cout << "@" << a[i] << endl; } // cout << cnt << " " << cnt2 << " " << que[pnt1].first << endl; while (pnt1 <= q && que[pnt1].first >= cnt + 1 && que[pnt1].first <= cnt + cnt2) { ans[que[pnt1].second] = a[i]; ++pnt1; // cout << "##" << pnt1 << endl; } cnt += cnt2; } for (int i = 1; i <= q; i++) { cout << ans[i] << "\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...