結果

問題 No.2568 列辞書順列列
ユーザー tipstar0125
提出日時 2024-01-08 21:32:16
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 590 ms / 3,000 ms
コード長 351 bytes
コンパイル時間 198 ms
コンパイル使用メモリ 81,776 KB
実行使用メモリ 120,552 KB
最終ジャッジ日時 2024-09-27 19:42:09
合計ジャッジ時間 17,260 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 25
権限があれば一括ダウンロードができます

ソースコード

diff #

N,M,Q=list(map(int,input().split()))
A=list(map(int,input().split()))
mod=998244353
A.reverse()
S=[0]
for (i,a) in enumerate(A):
    S.append((S[-1]+(a-1)*pow(M,i,mod))%mod)

for _ in range(Q):
    l,r=list(map(int,input().split()))
    ans=S[N-l+1]-S[N-r]
    ans+=mod
    ans%=mod
    ans*=pow(M,-N+r,mod)
    ans+=1
    ans%=mod
    print(ans)
    
0