結果
問題 |
No.2978 Lexicographically Smallest and Largest Subarray
|
ユーザー |
|
提出日時 | 2024-12-03 00:28:47 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 291 ms / 2,000 ms |
コード長 | 903 bytes |
コンパイル時間 | 345 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 28,120 KB |
平均クエリ数 | 1499.00 |
最終ジャッジ日時 | 2024-12-03 00:29:07 |
合計ジャッジ時間 | 18,100 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 57 |
ソースコード
from queue import Queue N, Q = map(int, input().split()) Q0 = Queue() for i in range(1, N + 1): Q0.put(i) Q1 = Queue() Q2 = Queue() while Q0.qsize() > 1: l = Q0.get() r = Q0.get() print(f"? {l} {l} {r} {r}") x = int(input()) if x == 1: Q1.put(l) Q2.put(r) elif x == 0: Q1.put(r) Q2.put(l) else: exit(-1) if Q0.qsize() == 1: m = Q0.get() Q1.put(m) Q2.put(m) while Q1.qsize() > 1: l = Q1.get() r = Q1.get() print(f"? {l} {l} {r} {r}") x = int(input()) if x == 1: Q1.put(l) elif x == 0: Q1.put(r) else: exit(-1) while Q2.qsize() > 1: l = Q2.get() r = Q2.get() print(f"? {l} {N} {r} {N}") x = int(input()) if x == 1: Q2.put(r) elif x == 0: Q2.put(l) else: exit(-1) L = Q1.get() R = Q2.get() print(f"! {L} {L} {R} {N}")