제출 #1110769

#제출 시각아이디문제언어결과실행 시간메모리
1110769FlandreIntercastellar (JOI22_ho_t1)C++17
100 / 100
130 ms18760 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp> 
#include <ext/pb_ds/tree_policy.hpp> 
using namespace std;
using namespace __gnu_pbds;

// loal is the cutest girl

#define ll long long
#define int ll
#define ld long double
#define pow2(x) (x)*(x)
#define le left
#define ri right
#define fi first
#define se second
#define pb push_back
#define all(v) v.begin(), v.end()
#define pii pair<int, int>
#define pll pair<long long, long long>
#define isvowel(x) (x) == 'a' || (x) == 'i' || (x) == 'u' || (x) == 'e' || (x) == 'o'
#define ordered_set tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>

const ld EPS = 1e-9;
const ld PI = 3.141592653589793238462643383279502884197169399375105820974944;

signed main() {
  ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  
  int n;
  cin >> n;
  int pc = 0;
  set<pii> a;
  for (int i = 0; i < n; i++) {
    int x;
    cin >> x;
    int smbit = __lg(x & -x);
    a.insert({pc+1, x >> smbit});
    pc += 1ll << smbit;
  }

  int q;
  cin >> q;
  while (q--) {
    int x;
    cin >> x;
    cout << prev(a.upper_bound({x, 1e18}))->se << '\n';
  }
  
  return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...