제출 #756537

#제출 시각아이디문제언어결과실행 시간메모리
756537michaoIntercastellar (JOI22_ho_t1)C++14
100 / 100
84 ms15480 KiB
#include <bits/stdc++.h> #define int long long #define mp make_pair #define pb push_back #define ld long double #define pii pair<int,int> #define sz(x) (int)x.size() #define piii pair<pii,pii> #define precise cout<<fixed<<setprecision(10) #define st first #define nd second #define ins insert #define vi vector<int> #define BOOST ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0) using namespace std; const int MAX=2e5+5; pii query[MAX]; int ans[MAX]; int a[MAX]; int num[MAX],ile[MAX]; int32_t main() { BOOST; int n; cin>>n; for (int i=1;i<=n;i++)cin>>a[i]; for (int i=1;i<=n;i++){ num[i]=a[i],ile[i]=1; while (num[i]%2==0)num[i]/=2,ile[i]*=2; } int q; cin>>q; for (int i=1;i<=q;i++){ cin>>query[i].st; query[i].nd=i; } sort(query+1,query+1+q); int sum=0,wsk=0; for (int i=1;i<=q;i++){ int id=query[i].nd; while (sum<query[i].st){ wsk++; sum+=ile[wsk]; } ans[id]=num[wsk]; } for (int i=1;i<=q;i++)cout<<ans[i]<<"\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...