Submission #769632

#TimeUsernameProblemLanguageResultExecution timeMemory
769632raysh07Intercastellar (JOI22_ho_t1)C++17
100 / 100
64 ms9212 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define INF (int)1e18 #define f first #define s second mt19937_64 RNG(chrono::steady_clock::now().time_since_epoch().count()); void Solve() { int n; cin >> n; vector <pair<int, int>> a(n); for (auto &x : a) { cin >> x.f; x.s = 1; while (x.f % 2 == 0){ x.f /= 2; x.s *= 2; } } for (int i = 1; i < n; i++) a[i].s += a[i - 1].s; int q; cin >> q; while (q--){ int x; cin >> x; int l = 0, r = n - 1; while (l != r){ int m = (l + r)/2; if (a[m].s >= x) r = m; else l = m + 1; } cout << a[l].f << "\n"; } } int32_t main() { auto begin = std::chrono::high_resolution_clock::now(); ios_base::sync_with_stdio(0); cin.tie(0); int t = 1; // cin >> t; for(int i = 1; i <= t; i++) { //cout << "Case #" << i << ": "; Solve(); } auto end = std::chrono::high_resolution_clock::now(); auto elapsed = std::chrono::duration_cast<std::chrono::nanoseconds>(end - begin); cerr << "Time measured: " << elapsed.count() * 1e-9 << " seconds.\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...