Submission #2119310
Source Code Expand
#include <stdio.h>
#include <algorithm>
#include <assert.h>
#include <bitset>
#include <cmath>
#include <complex>
#include <deque>
#include <functional>
#include <iostream>
#include <limits.h>
#include <map>
#include <math.h>
#include <queue>
#include <set>
#include <stdlib.h>
#include <string.h>
#include <string>
#include <time.h>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#pragma warning(disable:4996)
#pragma comment(linker, "/STACK:336777216")
using namespace std;
#define mp make_pair
#define all(x) (x).begin(), (x).end()
#define ldb ldouble
typedef tuple<int, int, int> t3;
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
typedef long double ldb;
typedef pair <int, int> pii;
typedef pair <ll, ll> pll;
typedef pair <ll, int> pli;
typedef pair <db, db> pdd;
int IT_MAX = 1 << 19;
int MOD = 1000000007;
const int INF = 0x3f3f3f3f;
const ll LL_INF = 0x3f3f3f3f3f3f3f3f;
const db PI = acos(-1);
const db ERR = 1e-10;
#define szz(x) (int)(x).size()
#define rep(i, n) for(int i=0;i<n;i++)
#define Se second
#define Fi first
const int MX = 15;
const int MM = 1000000007;
const int DEBUG = 0;
ll N;
bool check(ll x){
printf("? %lld\n", x);
fflush(stdout);
char buf[10];
if(DEBUG){
char P[20], Q[20];
sprintf(P, "%lld", x);
sprintf(Q, "%lld", N);
if( ((string)P <= (string)Q) ^ (x <= N)) return false;
return true;
}
scanf("%s", buf); return buf[0] == 'Y';
}
int main()
{
if(DEBUG) scanf("%lld", &N);
ll s = 1e11, e = 1e12, m;
while(s <= e){
m = (s+e) / 2;
if( check(m) ) e = m-1;
else s = m+1;
}swap(s, e);
while(e%10 == 0){
if( !check(e+1) ){
printf("! %lld\n", e*10);
fflush(stdout);
return 0;
}
e /= 10;
}
if( e%10 == 9 ){
if(check(e*10-1)) printf("! %lld\n", e*10);
else printf("! %lld\n", e);
}
else{
if(!check(e+1))printf("! %lld\n", e*10);
else printf("! %lld\n", e);
}
fflush(stdout);
}
Submission Info
Submission Time |
|
Task |
E - Awkward Response |
User |
zigui |
Language |
C++14 (GCC 5.4.1) |
Score |
800 |
Code Size |
2012 Byte |
Status |
AC |
Exec Time |
5 ms |
Memory |
596 KB |
Compile Error
./Main.cpp: In function ‘bool check(ll)’:
./Main.cpp:70:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%s", buf); return buf[0] == 'Y';
^
./Main.cpp: In function ‘int main()’:
./Main.cpp:75:29: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
if(DEBUG) scanf("%lld", &N);
^
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
800 / 800 |
Status |
|
|
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 |
5 ms |
592 KB |
01.txt |
AC |
4 ms |
584 KB |
02.txt |
AC |
4 ms |
596 KB |
03.txt |
AC |
4 ms |
592 KB |
04.txt |
AC |
4 ms |
588 KB |
05.txt |
AC |
4 ms |
592 KB |
06.txt |
AC |
4 ms |
592 KB |
07.txt |
AC |
4 ms |
592 KB |
08.txt |
AC |
4 ms |
592 KB |
09.txt |
AC |
5 ms |
596 KB |
10.txt |
AC |
5 ms |
596 KB |
11.txt |
AC |
5 ms |
592 KB |
12.txt |
AC |
5 ms |
592 KB |
13.txt |
AC |
5 ms |
592 KB |
14.txt |
AC |
5 ms |
592 KB |
15.txt |
AC |
4 ms |
592 KB |
16.txt |
AC |
4 ms |
592 KB |
17.txt |
AC |
4 ms |
592 KB |
18.txt |
AC |
5 ms |
592 KB |
19.txt |
AC |
5 ms |
592 KB |
20.txt |
AC |
4 ms |
592 KB |
21.txt |
AC |
4 ms |
584 KB |
22.txt |
AC |
5 ms |
592 KB |
23.txt |
AC |
5 ms |
592 KB |
24.txt |
AC |
5 ms |
596 KB |
25.txt |
AC |
4 ms |
592 KB |
26.txt |
AC |
4 ms |
592 KB |
27.txt |
AC |
4 ms |
596 KB |
28.txt |
AC |
4 ms |
592 KB |
29.txt |
AC |
4 ms |
592 KB |
30.txt |
AC |
4 ms |
592 KB |
31.txt |
AC |
5 ms |
592 KB |
32.txt |
AC |
5 ms |
588 KB |
33.txt |
AC |
5 ms |
592 KB |
34.txt |
AC |
5 ms |
592 KB |
35.txt |
AC |
4 ms |
588 KB |
36.txt |
AC |
5 ms |
592 KB |
37.txt |
AC |
4 ms |
592 KB |
38.txt |
AC |
4 ms |
592 KB |
39.txt |
AC |
4 ms |
592 KB |