結果
| 問題 |
No.2978 Lexicographically Smallest and Largest Subarray
|
| コンテスト | |
| ユーザー |
detteiuu
|
| 提出日時 | 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)
detteiuu