답안 #51157

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
51157 2018-06-17T02:32:00 Z MatheusLealV Cup of Jamshid (IOI17_cup) C++17
61 / 100
4 ms 248 KB
#include "cup.h"
#include <bits/stdc++.h>
 
using namespace std;
 
vector<int> find_cup()
{
	int valmax = 500000001;

	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 > 500000001) a = a - (1<<30) + 1;
 
	if(b > 500000001) b = b - (1<<30) + 1;

	//cout<<a<<" "<<b<<"\n";

	return {a, b};
}
# 결과 실행 시간 메모리 Grader output
1 Partially correct 4 ms 248 KB Partially correct