Submission #1194421

#TimeUsernameProblemLanguageResultExecution timeMemory
1194421biankIntercastellar (JOI22_ho_t1)C++20
100 / 100
57 ms5444 KiB
#include <bits/stdc++.h> using namespace std; #define forn(i,n) for(int i=0;i<int(n);i++) #define forsn(i,s,n) for(int i=int(s);i<int(n);i++) #define dforn(i,n) for(int i=int(n)-1;i>=0;i--) #define dforsn(i,s,n) for(int i=int(n)-1;i>=int(s);i--) #define fst first #define snd second #define pb push_back #define eb emplace_back #define sz(x) (int)x.size() #define all(x) x.begin(), x.end() typedef long long ll; typedef vector<ll> vll; typedef vector<int> vi; typedef pair<int,int> ii; int main(){ ios::sync_with_stdio(0); cin.tie(0); int n; cin>>n; vector<pair<ll,ll>> a(n); forn(i,n){ cin>>a[i].fst; a[i].snd=1; while(a[i].fst%2==0){ a[i].fst/=2; a[i].snd*=2; } } forn(i,n-1){ a[i+1].snd+=a[i].snd; } int q; cin>>q; forn(_,q){ ll x; cin>>x; int lo=-1,hi=n-1; while(hi-lo>1){ int mid=(lo+hi)/2; if(a[mid].snd>=x) hi=mid; else lo=mid; } cout<<a[hi].fst<<'\n'; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...