Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ll d = 1 << 17;
- vector<vector<ll>> dec(d + 1,vector<ll>(18));
- for (ll i = 0; i <= d; i++) {
- for (ll msk = 0; msk < 18; msk++) {
- if (i & (1 << msk)) {
- dec[i][msk]++;
- }
- if(i>0)
- dec[i][msk] += dec[i - 1][msk];
- }
- }
- ll t;
- cin >> t;
- while (t--) {
- ll l, r;
- cin >> l >> r;
- vector<ll> a(r + 1);
- for (ll i = 0; i <= r; i++) {
- cin >> a[i];
- }
- ll cnt[18]={};
- for (ll i = 0; i <= r; i++) {
- for (ll msk = 0; msk < 18; msk++) {
- if (a[i] & (1 << msk)) {
- cnt[msk]++;
- }
- }
- }
- ll ans = 0;
- for (ll i = 0; i < 18; i++) {
- if (cnt[i] == r + 1 - dec[r][i]) {
- if ((r + 1) % 2 == 0 && dec[r][i] * 2 == r + 1)continue;
- ans += (1 << i);
- }
- }
- cout << ans << '\n';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement