Submission #917091

#TimeUsernameProblemLanguageResultExecution timeMemory
917091LiuBruhIntercastellar (JOI22_ho_t1)C++17
100 / 100
61 ms9332 KiB
/*** * ALL */ #include <bits/stdc++.h> #define int long long #define sz(v) (int)v.size() using namespace std; const int maxn = (int)2e5 + 5; const int INF = (int)1e18 + 5; int n, q; queue<int> ar, que; pair<int, int> f(int x) { // cout << "test " << x << endl; int cnt = 1, num = x; while (num % 2 == 0) { num /= 2; cnt *= 2; } return {num, cnt}; } void solve() { cin >> n; for (int i = 1; i <= n; i++) { int x; cin >> x; ar.push(x); } cin >> q; for (int i = 1; i <= q; i++) { int x; cin >> x; que.push(x); } int cnt = 0, lstnum = -1; while (!que.empty()) { int pos = que.front(); que.pop(); while (cnt < pos) { // cout << "grab " << ar.front() << endl; auto [num, many] = f(ar.front()); ar.pop(); cnt += many; // cout << "pos " << pos << '\t' << "cnt " << cnt << endl << endl; if (cnt >= pos) { lstnum = num; } } cout << lstnum << '\n'; } } signed main() { ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0); solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...