結果
問題 |
No.2978 Lexicographically Smallest and Largest Subarray
|
ユーザー |
![]() |
提出日時 | 2024-12-02 15:05:12 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 316 ms / 2,000 ms |
コード長 | 700 bytes |
コンパイル時間 | 324 ms |
コンパイル使用メモリ | 82,380 KB |
実行使用メモリ | 90,720 KB |
平均クエリ数 | 1499.00 |
最終ジャッジ日時 | 2024-12-02 15:05:34 |
合計ジャッジ時間 | 20,396 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 57 |
ソースコード
N, Q = map(int, input().split()) A = list(range(1, N+1)) lose = [] flag = True while 2 <= len(A): B = [] for i in range(len(A)//2): print("?", A[i*2], A[i*2], A[i*2+1], A[i*2+1]) X = int(input()) if X == 1: B.append(A[i*2]) if flag: lose.append(A[i*2+1]) else: B.append(A[i*2+1]) if flag: lose.append(A[i*2]) if len(A)%2 == 1: B.append(A[-1]) A = B[:] flag = False minL, minR = A[0], A[0] MAX = lose[0] for l in lose[1:]: print("?", MAX, N, l, N) X = int(input()) if X == 1: MAX = l maxL, maxR = MAX, N print("!", minL, minR, maxL, maxR)