Submission #529121

#TimeUsernameProblemLanguageResultExecution timeMemory
529121AdamGSIntercastellar (JOI22_ho_t1)C++17
100 / 100
80 ms8864 KiB
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(a, b) for(int a = 0; a < (b); ++a)
const int LIM=2e5+7;
ll T[LIM], pref[LIM];
int main() {
  ios_base::sync_with_stdio(0); cin.tie(0);
  int n;
  cin >> n;
  rep(i, n) {
    cin >> T[i];
    pref[i]=1;
    while(T[i]%2==0) {
      T[i]/=2;
      pref[i]*=2;
    }
    if(i) pref[i]+=pref[i-1];
  }
  int q;
  cin >> q;
  while(q--) {
    ll x;
    cin >> x;
    int p=0, k=n-1;
    while(p<k) {
      int sr=(p+k)/2;
      if(pref[sr]<x) p=sr+1; else k=sr;
    }
    cout << T[p] << '\n';
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...