結果
| 問題 |
No.3310 mod998
|
| コンテスト | |
| ユーザー |
sasa8uyauya
|
| 提出日時 | 2025-10-24 23:27:54 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 581 bytes |
| コンパイル時間 | 357 ms |
| コンパイル使用メモリ | 82,364 KB |
| 実行使用メモリ | 77,776 KB |
| 最終ジャッジ日時 | 2025-10-24 23:28:02 |
| 合計ジャッジ時間 | 8,082 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 23 RE * 10 |
ソースコード
T=int(input())
M=998
for _ in range(T):
n,m=map(int,input().split())
p=[1]
d={1:0}
while 1:
np=p[-1]*n%M
if np in d:
l=d[np]
break
d[np]=len(p)
p+=[np]
pa=p[:l]
pb=p[l:]
for i in range(1,len(pa)):
pa[i]+=pa[i-1]
pa[i]%=M
for i in range(1,len(pb)):
pb[i]+=pb[i-1]
pb[i]%=M
for i in range(m):
k=int(input())+1
if k<=len(pa):
print(pa[k-1]%M)
continue
a=pa[-1] if len(pa)>0 else 0
k-=len(pa)
p2=k%len(pb)
p4=(k//len(pb))%M
a+=pb[-1]*p4
if p2!=0:
a+=pb[p2-1]
print(a%M)
sasa8uyauya