#include "cup.h"
#include <bits/stdc++.h>
using namespace std;
#define Q ask_shahrasb
vector<int> find_cup() {
vector<int> res(2);
int base = Q(0, 0);
for (int i = 0; i < 28; i ++) {
if ((base >> i)&1) {
// one of a[i] and b[i] are set
// cout << i << "th bit is set\n";
if (Q(1 << i, 0) == (base^(1 << i))) res[0] ^= (1 << i);
} else {
// either both or none are set
if (Q(1 << i, 0) == (base^(1 << i))) res[0] ^= (1 << i);
}
}
res[1] = base ^ res[0];
if (Q(res[0], 0) != res[1]) res[0] = -res[0];
if (Q(0, res[1]) != abs(res[0])) res[1] = -res[1];
// cout << res[0] << " " << res[1] << "\n";
return res;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |