Submission #1033615

#TimeUsernameProblemLanguageResultExecution timeMemory
1033615nguyendinhanh1508Intercastellar (JOI22_ho_t1)C++14
100 / 100
68 ms10724 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define mx 1000007 #define inf LLONG_MAX/20 #define pi pair<int, int> #define mp make_pair int32_t main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n; int a[n]; for(int i = 0; i < n; i++){ cin >> a[i]; } int pos[n]; int val[n]; int cur = 0; for(int i = 0; i < n; i++){ int curbit = 0; while((a[i] & (1 << curbit)) == 0){ curbit++; } val[i] = a[i] / (1 << curbit); pos[i] = cur; cur += (1 << curbit); } // for(int i = 0; i < n; i++){ // cerr << pos[i] << ' ' << val[i] << '\n'; // } int arrsize = cur; // cerr << arrsize << '\n'; int q; cin >> q; while(q--){ int x; cin >> x; x--; // cerr << x << '\n'; int l = 0, r = n - 1; int ans = 0; while(l <= r){ int mid = (l + r) / 2; if(pos[mid] <= x){ l = mid + 1; ans = val[mid]; } else r = mid - 1; } cout << ans << '\n'; } return 0; }

Compilation message (stderr)

Main.cpp: In function 'int32_t main()':
Main.cpp:34:7: warning: unused variable 'arrsize' [-Wunused-variable]
   34 |   int arrsize = cur;
      |       ^~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...