結果
問題 |
No.3161 Find Presents
|
ユーザー |
|
提出日時 | 2025-05-23 21:37:53 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,210 bytes |
コンパイル時間 | 432 ms |
コンパイル使用メモリ | 82,080 KB |
実行使用メモリ | 107,000 KB |
平均クエリ数 | 90.31 |
最終ジャッジ日時 | 2025-05-23 21:38:13 |
合計ジャッジ時間 | 17,992 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 RE * 70 |
ソースコード
import collections,sys,math,functools,operator,itertools,bisect,heapq,decimal,string,time,random #sys.setrecursionlimit(10**9) #sys.set_int_max_str_digits(0) input = sys.stdin.readline #alist = list(map(int,input().split())) #alist = [] #s = input() #n,m = map(int,input().split()) #for i in range(n): # alist.append(list(map(int,input().split()))) #b = [(5,5),(1,1),(2,2)] def query(xl,xr,yl,yr): print('?',xl,xr,yl,yr,flush=True) z = int(input()) return z z = 0 for i,j in b: if xl <= i <= xr and yl <= j <= yr: z = 1 return z ans = [] ll = 0 while 1: l,r = 0,1000000+1 while r-l > 1: mid =(l+r)//2 if query(0,1000000,ll,mid): r = mid else: l = mid ll = r+1 p = r left = 0 while 1: l,r = 0,1000000 while r-l > 1: mid = (l+r)//2 if query(left,mid,p,p): r = mid else: l = mid ans.append((r,p)) left = r+1 if query(left,1000000,p,p) == 0: break if query(0,1000000,ll,1000000) == 0: break print('!',len(ans)) for i,j in ans: print(i,j)