結果
| 問題 |
No.147 試験監督(2)
|
| コンテスト | |
| ユーザー |
vwxyz
|
| 提出日時 | 2024-04-17 12:31:44 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 509 ms / 2,000 ms |
| コード長 | 551 bytes |
| コンパイル時間 | 194 ms |
| コンパイル使用メモリ | 82,344 KB |
| 実行使用メモリ | 76,928 KB |
| 最終ジャッジ日時 | 2024-10-09 06:33:59 |
| 合計ジャッジ時間 | 3,024 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 4 |
ソースコード
def prod(mat0,mat1):
mat=[0]*4
for i in range(2):
for j in range(2):
for k in range(2):
mat[i<<1|k]+=mat0[i<<1|j]*mat1[j<<1|k]%mod
mat[i<<1|k]%=mod
return mat
N=int(input())
ans=1
mod=10**9+7
M=[[1,1,1,0]]
for i in range(1,60):
M.append(prod(M[-1],M[-1]))
for n in range(N):
c,d=map(int,input().split())
if d>mod:
d%=mod-1
mat=[1,0,0,1]
for b in range(60):
if c+1>>b&1:
mat=prod(mat,M[b])
ans*=pow(mat[0],d,mod)
ans%=mod
print(ans)
vwxyz