Submission #51156

# Submission time Handle Problem Language Result Execution time Memory
51156 2018-06-17T02:30:26 Z MatheusLealV Cup of Jamshid (IOI17_cup) C++17
0 / 100
5 ms 248 KB
#include "cup.h"
#include <bits/stdc++.h>
 
using namespace std;
 
vector<int> find_cup()
{
	int valmax = 500000000;

	int a = valmax, b = valmax;
 
	int X_xor_Y = ask_shahrasb(valmax, valmax);
 
	for(int i = 29; i >= 0; i--)
	{
		if(!(X_xor_Y & (1<<i)))
		{
			int val = ask_shahrasb(valmax -(1<<i), valmax);

			int val2 = ask_shahrasb(valmax, valmax -(1<<i));

			if( !((val ^ X_xor_Y) == (1<<i) )) a += (1<<i); 

			if( !((val2 ^ X_xor_Y) == (1<<i)) ) b += (1<<i);
		}

		else
		{
			int val = ask_shahrasb(valmax - (1<<i), valmax);

			if(!((val ^ X_xor_Y) == (1<<i) )) a += (1<<i);

			else b += (1<<i);
		}
	}
 
	if(a > 500000000) a = a - (1<<30) + 1;
 
	if(b > 500000000) b = b - (1<<30) + 1;

	return {a, b};
}
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 248 KB wrong cup location