結果
| 問題 | No.2577 Simple Permutation Guess | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2023-12-06 19:07:19 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 534 ms / 2,000 ms | 
| コード長 | 362 bytes | 
| コンパイル時間 | 442 ms | 
| コンパイル使用メモリ | 82,352 KB | 
| 実行使用メモリ | 95,144 KB | 
| 平均クエリ数 | 248.84 | 
| 最終ジャッジ日時 | 2024-09-27 01:40:33 | 
| 合計ジャッジ時間 | 29,317 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 1 | 
| other | AC * 111 | 
ソースコード
from math import *
n = int(input())
f = [1]
for i in range(n):
	f.append(f[-1] * (i + 1))
def a(t):
	m = [0] * n
	s = [*range(1, n + 1)]
	for i in range(n):
		m[i], t = s.pop(t // f[n - i - 1]), t % f[n - i - 1]
	return m
l, r = 0, f[n]
q = [0] * n
while l + 1 < r:
	m = (l + r) // 2
	print("?", *a(m))
	if input() > '0':
		l = m
	else:
		r = m
print('!', *a(l))
            
            
            
        