結果
問題 | No.2577 Simple Permutation Guess |
ユーザー | 👑 p-adic |
提出日時 | 2023-11-24 02:07:28 |
言語 | PyPy3 (7.3.15) |
結果 |
QLE
|
実行時間 | - |
コード長 | 752 bytes |
コンパイル時間 | 698 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 93,920 KB |
平均クエリ数 | 284.71 |
最終ジャッジ日時 | 2024-09-26 22:29:30 |
合計ジャッジ時間 | 22,163 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | QLE | - |
testcase_01 | QLE | - |
testcase_02 | QLE | - |
testcase_03 | QLE | - |
testcase_04 | QLE | - |
testcase_05 | QLE | - |
testcase_06 | QLE | - |
testcase_07 | QLE | - |
testcase_08 | QLE | - |
testcase_09 | QLE | - |
testcase_10 | QLE | - |
testcase_11 | QLE | - |
testcase_12 | QLE | - |
testcase_13 | QLE | - |
testcase_14 | QLE | - |
testcase_15 | QLE | - |
testcase_16 | QLE | - |
testcase_17 | QLE | - |
testcase_18 | QLE | - |
testcase_19 | QLE | - |
testcase_20 | QLE | - |
testcase_21 | QLE | - |
testcase_22 | QLE | - |
testcase_23 | QLE | - |
testcase_24 | QLE | - |
testcase_25 | QLE | - |
testcase_26 | QLE | - |
testcase_27 | QLE | - |
testcase_28 | QLE | - |
testcase_29 | QLE | - |
testcase_30 | QLE | - |
testcase_31 | QLE | - |
testcase_32 | QLE | - |
testcase_33 | QLE | - |
testcase_34 | QLE | - |
testcase_35 | QLE | - |
testcase_36 | QLE | - |
testcase_37 | QLE | - |
testcase_38 | QLE | - |
testcase_39 | QLE | - |
testcase_40 | QLE | - |
testcase_41 | QLE | - |
testcase_42 | QLE | - |
testcase_43 | QLE | - |
testcase_44 | QLE | - |
testcase_45 | QLE | - |
testcase_46 | QLE | - |
testcase_47 | QLE | - |
testcase_48 | QLE | - |
testcase_49 | QLE | - |
testcase_50 | QLE | - |
testcase_51 | QLE | - |
testcase_52 | QLE | - |
testcase_53 | QLE | - |
testcase_54 | QLE | - |
testcase_55 | QLE | - |
testcase_56 | QLE | - |
testcase_57 | QLE | - |
testcase_58 | QLE | - |
testcase_59 | QLE | - |
testcase_60 | QLE | - |
testcase_61 | QLE | - |
testcase_62 | QLE | - |
testcase_63 | QLE | - |
testcase_64 | QLE | - |
testcase_65 | QLE | - |
testcase_66 | QLE | - |
testcase_67 | QLE | - |
testcase_68 | QLE | - |
testcase_69 | QLE | - |
testcase_70 | QLE | - |
testcase_71 | QLE | - |
testcase_72 | QLE | - |
testcase_73 | QLE | - |
testcase_74 | QLE | - |
testcase_75 | QLE | - |
testcase_76 | QLE | - |
testcase_77 | QLE | - |
testcase_78 | QLE | - |
testcase_79 | QLE | - |
testcase_80 | QLE | - |
testcase_81 | QLE | - |
testcase_82 | QLE | - |
testcase_83 | QLE | - |
testcase_84 | QLE | - |
testcase_85 | QLE | - |
testcase_86 | QLE | - |
testcase_87 | QLE | - |
testcase_88 | QLE | - |
testcase_89 | QLE | - |
testcase_90 | QLE | - |
testcase_91 | QLE | - |
testcase_92 | QLE | - |
testcase_93 | QLE | - |
testcase_94 | QLE | - |
testcase_95 | QLE | - |
testcase_96 | QLE | - |
testcase_97 | QLE | - |
testcase_98 | QLE | - |
testcase_99 | QLE | - |
testcase_100 | QLE | - |
testcase_101 | QLE | - |
evil_1_rnd_1.txt | QLE | - |
evil_1_rnd_2.txt | QLE | - |
evil_2_big_1.txt | QLE | - |
evil_2_big_2.txt | QLE | - |
evil_2_big_3.txt | QLE | - |
evil_3_sorted_1.txt | QLE | - |
evil_4_sorted_rev_1.txt | QLE | - |
evil_4_sorted_rev_2.txt | QLE | - |
evil_400_sorted.txt | QLE | - |
evil_400_sorted_rev.txt | QLE | - |
ソースコード
#クエリ回数上限+1確認 def floor_log(n): a,p=0,1 while p*2<=n:a,p=a+1,p*2 return a O,R=print,range I=lambda:int(input()) N=I() q=int(floor_log(N**(N-1))-(N-1)/2+1)+1 n=R(N) Q=[0]*N u=set(i+1for i in n) v=set(u) def S(Q,k): v=set(u) for i in n: Q[i],k=sorted(v)[k//F[N-i-1]],k%F[N-i-1] v.remove(Q[i]) if N<9: F=[1] for i in n:F+=[F[-1]*(i+1)] l,r=0,F[N] while l<r-1: m,q=(l+r)//2,q-1 S(Q,m),O("?",*Q) if I():l=m else:r=m S(Q,l) else: for i in R(N-1): l,r,X=0,N-i,sorted(v) while l<r-1: m,j,q=(l+r)//2,i+1,q-1 t=Q[i]=X[m] for k in R(N-i): if X[k]!=t:Q[j],j=X[k],j+1 O("?",*Q) t=I() if t<1:r=m else:l=m t=Q[i]=X[l] v.remove(t) Q[N-1]=v.pop() while q: q-=1 O("?",*Q) assert(q==0) O("!",*Q)