結果
問題 | No.1311 Reverse Permutation Index |
ユーザー |
|
提出日時 | 2020-12-08 00:11:57 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 40 ms / 1,500 ms |
コード長 | 633 bytes |
コンパイル時間 | 157 ms |
コンパイル使用メモリ | 81,976 KB |
実行使用メモリ | 54,816 KB |
最終ジャッジ日時 | 2024-09-17 14:10:43 |
合計ジャッジ時間 | 1,000 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 6 |
ソースコード
import sysinput = sys.stdin.readlinefrom collections import *N, S = map(int, input().split())N += 1fact = [1]for i in range(1, S):fact.append(fact[-1]*i)p = []for i in range(S):for j in range(S):if j not in p:if N-fact[S-i-1]>0:N -= fact[S-i-1]else:p.append(j)breakpi = [(p[i], i) for i in range(S)]pi.sort()rev_p = [i for p, i in pi]ans = 0s = set()for i in range(S):c = 0for j in range(rev_p[i]):if j not in s:c += 1ans += c*fact[S-i-1]s.add(rev_p[i])print(ans)