Submission #1268096

#TimeUsernameProblemLanguageResultExecution timeMemory
1268096lambd47Intercastellar (JOI22_ho_t1)C++20
100 / 100
53 ms5448 KiB
#include <bits/stdc++.h> #define int long long using namespace std; #define sz(v) ((int)(v).size()) #define all(v) (v).begin(), (v).end() #define L(i, j, k) for(int i = (j); i <= (k); ++i) #define R(i, j, k) for(int i = (j); i >= (k); --i) std::mt19937 rng(std::chrono::steady_clock::now().time_since_epoch().count()); void solve() { int n;cin>>n; vector<int> vec(n); vector<int> qnt(n,1); L(i,0,n-1)cin>>vec[i]; L(i,0,n-1){ while((vec[i]&1)==0){ vec[i]>>=1; qnt[i]<<=1; } } L(i,1,n-1)qnt[i]+=qnt[i-1]; // L(i,0,n-1)cout<<qnt[i]<<"\n"; int q;cin>>q; while(q--){ int x;cin>>x; int l=0;int r=n-1; int ans=0; while(l<=r){ int m=(l+r)/2; if(qnt[m]>=x){ ans=m; r=m-1; } else l=m+1; } cout<<vec[ans]<<"\n"; } } int32_t main() { std::cin.tie(0)->sync_with_stdio(0); std::cin.exceptions(std::cin.failbit); int T = 1; // std::cin >> T; while(T--) { solve(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...