結果
問題 |
No.411 昇順昇順ソート
|
ユーザー |
![]() |
提出日時 | 2023-04-04 17:46:36 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 758 ms / 2,000 ms |
コード長 | 561 bytes |
コンパイル時間 | 342 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 76,288 KB |
最終ジャッジ日時 | 2024-10-01 09:20:24 |
合計ジャッジ時間 | 6,339 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 30 |
ソースコード
# 実験から拡張で通ったが公式解説の2つの数列に分ける方式をやってみる N, K = map(int, input().split()) count = [0]*N for bit in range(1<<N): if bit == 0 or bit == 2**N-1: continue chosen = [] unchosen = [a for a in range(N)] for shift in range(N): if bit>>shift & 1 == 1: chosen.append(shift) unchosen.remove(shift) #print('bit', bin(bit), chosen, unchosen) if unchosen[-1] > chosen[0]: count[unchosen[0]] += 1 #print(count) ans = count[K-1] print(ans)