Submission #124330

# Submission time Handle Problem Language Result Execution time Memory
124330 2019-07-03T05:03:17 Z AngusRitossa Cup of Jamshid (IOI17_cup) C++14
100 / 100
3 ms 376 KB
#include "cup.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> find_cup() {
    vector<int> result;
    int fir = -536870912;
    int x = -536870912;
    int y = 536870912;
    int a = ask_shahrasb(x, y);
	for (int i = 0; i < 32; i++)
	{
		if (a & (1 << i))
		{
			int newx = x+(1 << i);
			if (ask_shahrasb(newx, y) == (a^(1 << i))) fir+=1<<i;
			else fir-=1<<i;
		}
	}
    int sec = 536870911;
    x = 536870911;
    a = ask_shahrasb(x, y);
	for (int i = 0; i < 32; i++)
	{
		if (a & (1 << i))
		{
			int newx = x-(1 << i);
			if (ask_shahrasb(newx, y) == (a^(1 << i))) sec-=1<<i;
			else sec+=1<<i;
		}
	}
    int ansx = (fir+sec)/2;
    int ansy = 536870912 - (sec-fir)/2;
    result.push_back(ansx);
    result.push_back(ansy);
    return result;
}
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct