#include "cup.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(a, b) for(int a = 0; a < (b); ++a)
#define st first
#define nd second
#define pb push_back
#define all(a) a.begin(), a.end()
vector<int>find_cup() {
int X=1000000000;
vector<int>T(2);
int x=ask_shahrasb(X, X);
for(int i=0; i<29; ++i) {
int y=ask_shahrasb(X-(1<<i), X);
int p=x^y;
if(!(p&(1<<(i+1)))) T[0]|=1<<i;
}
if(T[0]<X/2) {
int y=ask_shahrasb(X-(1<<29), X);
int p=x^y;
if(p&(1<<30)) T[0]|=1<<30; else T[0]|=1<<29;
} else {
int y=ask_shahrasb(X-(1<<29), X);
int p=x^y;
if(p&(1<<29)) T[0]|=1<<29;
}
T[0]=X-T[0];
x^=X-T[0];
T[1]=X-x;
return T;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
348 KB |
Output is correct |