Submission #1336742

#TimeUsernameProblemLanguageResultExecution timeMemory
1336742DeltaStructCup of Jamshid (IOI17_cup)C++20
100 / 100
1 ms344 KiB
#include <bits/stdc++.h>
using namespace std;
#include "cup.h"

vector<int> find_cup(){
  auto query = ask_shahrasb;
  int u = 5e8,b = query(u,u),x = 0,y = 0;
  for (int i(0);i < 29;++i){
    int t = query(u+(1<<i),u);
    if ((t^(1<<i))==b) y |= (1<<i)&b;
    else x |= (1<<i),y |= ((b>>i)%2==0)*(1<<i);
  }
  int s = (1<<29);
  if (query(u-x,u-y)==0){
    if (query(u-x-1,u-y)==1) return {u-x,u-y};
    return {u-x-s,u-y-s};
  }
  if (query(u-x-s+1,u-y)==1) return {u-x-s,u-y};
  return {u-x,u-y-s};
}
#Verdict Execution timeMemoryGrader output
Fetching results...