結果
問題 |
No.411 昇順昇順ソート
|
ユーザー |
![]() |
提出日時 | 2023-08-10 07:52:02 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 882 ms / 2,000 ms |
コード長 | 450 bytes |
コンパイル時間 | 205 ms |
コンパイル使用メモリ | 82,384 KB |
実行使用メモリ | 76,360 KB |
最終ジャッジ日時 | 2024-11-16 09:20:49 |
合計ジャッジ時間 | 7,093 ms |
ジャッジサーバーID (参考情報) |
judge5 / 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 == pow(2, N)-1: continue first = [] second = [a for a in range(N)] for shift in range(N): if bit>>shift&1 == 1: first.append(shift) second.remove(shift) if first[-1] > second[0]: count[first[0]] += 1 ans = count[K-1] print(ans)