Submission #1518036


Source Code Expand

#include <iostream>
#include <vector>
#include <math.h>
#include <map>
#include <stdio.h>
#include <queue>
#include <algorithm>
#include <functional>
#include <string>
using namespace std;
#define MP make_pair
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define REP(i,a) for(int i=0;i<(a);++i)
typedef pair<int, int> P;
typedef pair<pair<P, P>, P>PP;
typedef long long LL;
#define INF LL(1e18)
#define N 1000000000
LL ans, temp;
int search(LL s, LL e, LL i)
{
	char a;
	LL mid = (s + e) / 2;
	cout << "? " << ans + mid * i << endl;
	cin >> a;
	if(mid - s == 1 && a == 'Y')
	{
		return s;
	}
	if(e - mid == 1 && a == 'N')
	{
		return mid;
	}
	return a == 'Y' ? search(s, mid, i): search(mid, e, i);
}
int solve(LL s, LL e, LL i)
{
	char a;
	if(s){
		cout << "? " << s * i + ans << endl;
		cin >> a;
		if(a == 'Y')
	 	 return s; 
	}
	cout << "? " << e * i + ans << endl;
	cin >> a;
	if(a == 'N')
	 return e;
	return search(s, e, i);
}
int main()
{

	for(LL i = LL(1e10); i > 1; i /= 10)
	{
		if(i == LL(1e10))
			ans += solve(1, 9, i) * i;
		else
			ans += solve(0, 9, i) * i;
	}
	char a;
	cout << "? " << ans << endl;
	cin >> a;
	ans /= 10;
	if(a == 'N')
	{
		ans++;
	}
	LL ans2 = ans;
	temp = 1;
	LL s = 0, e = 9, mid, midd;
	midd = powl(10, 9);
	cout << "? "  << ans / midd + 1	<<endl;
	cin >> a;
	if(a == 'Y')
	{
		cout << "! " << ans / midd << endl;
		return 0;
	}

	for(;;)
	{
		mid = (s + e) / 2;
		midd = powl(10, mid);
		char a;
			cout << "? " << ans / midd + 1 << endl;
			cin >> a;
			if(a == 'N')
			{
				e = mid;
			}
			if(a == 'Y')
			{
				s = mid;
			}
			if(a == 'N' && mid - s == 1)
			{
				midd /= 10;
				break;
			}
		   if(a == 'Y' && e - mid == 1)
			{
				break;
			}
					
	}
	cout << "! " << ans / midd << endl;
	return 0;
}

Submission Info

Submission Time
Task E - Awkward Response
User kazu123
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1860 Byte
Status WA
Exec Time 8 ms
Memory 976 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 800
Status
AC × 1
AC × 29
WA × 11
Set Name Test Cases
Sample 00_example_01.txt
All 00_example_01.txt, 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 8 ms 976 KB
01.txt AC 3 ms 596 KB
02.txt AC 3 ms 596 KB
03.txt AC 4 ms 592 KB
04.txt AC 4 ms 596 KB
05.txt AC 4 ms 588 KB
06.txt AC 4 ms 596 KB
07.txt AC 4 ms 592 KB
08.txt WA 4 ms 592 KB
09.txt AC 3 ms 592 KB
10.txt AC 4 ms 592 KB
11.txt AC 4 ms 592 KB
12.txt AC 4 ms 592 KB
13.txt AC 4 ms 592 KB
14.txt AC 4 ms 592 KB
15.txt AC 4 ms 592 KB
16.txt AC 4 ms 588 KB
17.txt WA 4 ms 596 KB
18.txt AC 3 ms 596 KB
19.txt AC 4 ms 596 KB
20.txt AC 4 ms 592 KB
21.txt AC 4 ms 592 KB
22.txt AC 4 ms 592 KB
23.txt AC 4 ms 592 KB
24.txt AC 4 ms 596 KB
25.txt AC 4 ms 592 KB
26.txt AC 4 ms 596 KB
27.txt AC 4 ms 596 KB
28.txt AC 4 ms 596 KB
29.txt AC 4 ms 588 KB
30.txt AC 4 ms 592 KB
31.txt WA 3 ms 592 KB
32.txt WA 3 ms 592 KB
33.txt WA 3 ms 596 KB
34.txt WA 3 ms 592 KB
35.txt WA 3 ms 592 KB
36.txt WA 3 ms 592 KB
37.txt WA 3 ms 592 KB
38.txt WA 3 ms 588 KB
39.txt WA 3 ms 592 KB