結果
問題 | No.2978 Lexicographically Smallest and Largest Subarray |
ユーザー |
![]() |
提出日時 | 2024-12-02 00:45:36 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 339 ms / 2,000 ms |
コード長 | 702 bytes |
コンパイル時間 | 339 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 94,176 KB |
平均クエリ数 | 1499.00 |
最終ジャッジ日時 | 2024-12-02 00:46:00 |
合計ジャッジ時間 | 21,291 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 57 |
ソースコード
from functools import cmp_to_key N,Q=map(int,input().split()) A_=[i for i in range(N)] def ans(a,b,c,d): print('?',a,b,c,d,flush=True) X=int(input()) return X if A_[a-1:b] < A_[c-1:d]: print(0) return 1 else: print(1) return 0 mi=[] ma=[] for i in range(1,N,2): X=ans(i,N,i+1,N) if X==1: mi.append(i) ma.append(i+1) else: ma.append(i) mi.append(i+1) mians=mi[0] for i in range(1,len(mi)): X=ans(mians,mians,mi[i],mi[i]) if X==0: mians=mi[i] maans=ma[0] for i in range(1,len(ma)): X=ans(maans,N,ma[i],N) if X==1: maans=ma[i] #print(ma[:10]) print('!',mians,mians,maans,N)