結果
問題 |
No.2857 Div Array
|
ユーザー |
![]() |
提出日時 | 2024-08-25 15:20:34 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 549 bytes |
コンパイル時間 | 183 ms |
コンパイル使用メモリ | 82,172 KB |
実行使用メモリ | 114,864 KB |
最終ジャッジ日時 | 2024-08-25 15:20:41 |
合計ジャッジ時間 | 6,578 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 TLE * 2 -- * 18 |
ソースコード
N,M,K = map(int,input().split()) MOD = 998244353 if N==1: print(M) exit() mat = [[int(abs(M//(i+1) - M//(j+1)) <= K) for j in range(M)] for i in range(M)] def mul(l,r): ret = [[0]*M for _ in range(M)] for i,row in enumerate(l): for j,col in enumerate(zip(*r)): ret[i][j] = sum(a*b for a,b in zip(row,col)) % MOD return ret X = mat Z = [[int(i==j) for j in range(M)] for i in range(M)] N -= 1 while N: if N%2: Z = mul(Z,X) X = mul(X,X) N //= 2 print(sum(sum(row)%MOD for row in Z)%MOD)