結果
問題 |
No.823 Many Shifts Easy
|
ユーザー |
![]() |
提出日時 | 2020-06-15 15:52:33 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 76 ms / 2,000 ms |
コード長 | 447 bytes |
コンパイル時間 | 78 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 14,848 KB |
最終ジャッジ日時 | 2024-07-03 11:26:50 |
合計ジャッジ時間 | 1,382 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 |
ソースコード
N, K = map(int, input().split()) power = [1 for i in range(10**5+10)] mod = 10**9+7 for i in range(1, 10**5+10): power[i] = power[i-1]*i % mod def rev(X): return pow(X, mod-2, mod) def P(n, k): if n < k: return 0 if n < 0 or k < 0: return 0 else: return power[n]*rev(power[n-k]) % mod ans = N*(N-1)//2 ans *= (P(N-1, K)+K*(K-1)//2*P(N-2, K-2)) ans %= mod ans += N*P(N-1, K) ans %= mod print(ans)