結果
| 問題 | 
                            No.1035 Color Box
                             | 
                    
| コンテスト | |
| ユーザー | 
                             Kiri8128
                         | 
                    
| 提出日時 | 2020-04-24 21:51:44 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 95 ms / 2,000 ms | 
| コード長 | 535 bytes | 
| コンパイル時間 | 140 ms | 
| コンパイル使用メモリ | 82,396 KB | 
| 実行使用メモリ | 75,564 KB | 
| 最終ジャッジ日時 | 2024-10-15 02:43:42 | 
| 合計ジャッジ時間 | 3,299 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 36 | 
ソースコード
nn = 100100
P = 10**9+7
fa = [1] * (nn+1)
fainv = [1] * (nn+1)
for i in range(nn):
    fa[i+1] = fa[i] * (i+1) % P
fainv[-1] = pow(fa[-1], P-2, P)
for i in range(nn)[::-1]:
    fainv[i] = fainv[i+1] * (i+1) % P
inv = [1] * (nn+1)
for i in range(1, nn)[::-1]:
    inv[i] = fainv[i] * fa[i-1]
C = lambda a, b: fa[a] * fainv[b] % P * fainv[a-b] % P if 0 <= b <= a else 0
N, M = map(int, input().split())
def calc(i):
    return pow(i, N, P) * C(M, i) * (1 if (i ^ M) & 1 == 0 else -1)
print(sum([calc(i) for i in range(1, M+1)]) % P)
            
            
            
        
            
Kiri8128