結果
| 問題 |
No.2653 [Cherry 6th Tune] Re: start! (Make it Zero!)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-02-23 22:55:33 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 313 ms / 2,000 ms |
| コード長 | 859 bytes |
| コンパイル時間 | 373 ms |
| コンパイル使用メモリ | 82,588 KB |
| 実行使用メモリ | 107,404 KB |
| 最終ジャッジ日時 | 2024-09-29 08:12:26 |
| 合計ジャッジ時間 | 13,698 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 72 |
ソースコード
MOD = 998244353
def solve():
N, M = map(int, input().split())
X = list(map(int, input().split()))
c = 0
for i in range(N):
if X[i] == -1:
c += 1
l, r = -1, -1
res = 0
s = 0
for i in range(N):
if X[i] == -1:
l = i
break
s += X[i]
s %= M
if s == 0:
res += 1
if l == -1:
if s == 0:
print(N - res)
else:
print(0)
return
s = 0
for i in range(N - 1, -1, -1):
if X[i] == -1:
r = i
break
s += X[i]
s %= M
if s == 0:
res += 1
inv = pow(M, MOD - 2, MOD)
res += 1 + (r - l) * inv
# print(res)
print(((N - res) * pow(M, c - 1, MOD)) % MOD)
T = int(input())
for _ in range(T):
solve()