結果
| 問題 | No.3310 mod998 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-09-29 11:53:45 |
| 言語 | PyPy3 (7.3.23 + ACL) |
| 結果 |
WA
不安定
|
| 実行時間 | - |
| コード長 | 1,631 bytes |
| 記録 | |
| コンパイル時間 | 300 ms |
| コンパイル使用メモリ | 83,008 KB |
| 実行使用メモリ | 86,012 KB |
| 最終ジャッジ日時 | 2026-09-29 11:53:54 |
| 合計ジャッジ時間 | 8,836 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge4_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 32 WA * 1 |
ソースコード
MOD = 998
T = int(input())
for _ in range(T):
N,M = map(int,input().split())
K = [input().strip() for _ in range(M)]
if N==0:
for j in range(M):
print(1)
elif N==499:
for j in range(M):
a = int(K[j][-1])
if a%2==0:
print(1)
else:
print(500)
elif N==1:
for j in range(M):
r = int(K[j][-1])
n = 1
for k in range(1,len(K[j])):
n = (n*10)%MOD
r = (int(K[j][-(k+1)])*n+r)%MOD
print((r+1)%MOD)
elif N%2==1:
T = 498*998
A = [0]*498
A[1] = N
for i in range(2,497+1):
A[i] = (A[i-1]+pow(N,i,MOD))%MOD
for j in range(M):
r = int(K[j][-1])
n = 1
for k in range(1,len(K[j])):
n = (n*10)%T
r = (int(K[j][-(k+1)])*n+r)%T
if K[j]!="0" and r==0:
ans = 0
else:
rmin = r%498
ans = (A[rmin]+1)%MOD
print(ans)
else:
A = [0]*498
A[1] = N
for i in range(2,498):
A[i] = (A[i-1]+pow(N,i,MOD))%MOD
T = 498*166
Tmax = T*998
for j in range(M):
rmax = int(K[j][-1])
n = 1
for k in range(1,len(K[j])):
n = (n*10)%Tmax
rmax = (int(K[j][-(k+1)])*n+rmax)%Tmax
q = rmax//T
r = rmax%T
rmin = T%498
r0 = r%498
ans = (q*A[rmin]+A[r0]+1)%MOD
print(ans)