結果
| 問題 | No.2830 Don't Stop the Game |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-08-02 22:00:33 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 59 ms / 2,000 ms |
| コード長 | 1,183 bytes |
| コンパイル時間 | 259 ms |
| コンパイル使用メモリ | 82,468 KB |
| 実行使用メモリ | 70,032 KB |
| 最終ジャッジ日時 | 2024-08-02 22:00:36 |
| 合計ジャッジ時間 | 3,591 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 20 |
ソースコード
ans = []
for j in range(1, 31):
ans.append((1,))
ans.append((j,))
A = [i for i in range(1, 31)]
def f(i, j):
t = A[i] + A[j]
A[i] = A[j] = t
i += 1
j += 1
ans.append((3,))
ans.append((i, j))
tot = 998244352
f(29, 29)
f(29, 28)
f(29, 27)
f(29, 1)
for _ in range(23):
f(29, 29)
ans.append((5,))
ans.append((30, 998244352))
f(1, 29)
f(27, 29)
f(28, 29)
for i in range(1, 30):
f(i, 29)
print(len(ans) // 2)
for row in ans:
print(*row)
exit()
import random
random.seed(0)
MOD = 998244353
n = 30
A = [random.randrange(1, 10**7) for _ in range(n)]
B = [0] * n
for i in range(len(ans) // 2):
t = ans[i * 2][0]
if t == 1:
j = ans[i * 2 + 1][0] - 1
for k in range(n):
B[k] += pow(A[j], k + 1, MOD)
B[k] %= MOD
elif t == 3:
i, j = ans[i * 2 + 1]
i -= 1
j -= 1
b = B[i] * B[j] % MOD
B[i] = B[j] = b
elif t == 5:
i, x = ans[i * 2 + 1]
i -= 1
B[i] += x
B[i] %= MOD
print(A)
print(B)
print(sum(A))
print(sum(B))
print(len(ans) // 2)