結果

問題 No.1546 [Cherry 2nd Tune D] 思ったよりも易しくない
ユーザー 👑 rin204
提出日時 2022-01-27 00:01:33
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,189 ms / 2,000 ms
コード長 883 bytes
コンパイル時間 182 ms
コンパイル使用メモリ 82,432 KB
実行使用メモリ 108,288 KB
最終ジャッジ日時 2024-12-23 20:55:18
合計ジャッジ時間 39,132 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 53
権限があれば一括ダウンロードができます

ソースコード

diff #

MOD = 998244353
"""
n = 6
A = [3, 3, 2, 1, 1, 1]
ans = 0
for i, a in enumerate(A):
    ans += a * (n - i) * (i + 1) * (i + 2) // 2
print(ans)
"""

n = int(input())
tv = [list(map(int, input().split())) for _ in range(n)]
n = sum(t for t, _ in tv) % MOD
inv2 = pow(2, MOD - 2, MOD)
inv6 = pow(6, MOD - 2, MOD)

def f(x):
    if x == -1:
        return 0
    ret = 0
    
    one = x * (x + 1) * inv2
    three = one * one % MOD
    ret -= three
    ret %= MOD
    
    two = x * (x + 1) * (2 * x + 1) * inv6
    ret += (n - 3) * two
    ret %= MOD
    
    ret += (3 * n - 2) * one
    ret %= MOD
    
    ret += 2 * n * (x + 1)
    
    ret *= inv2
    return ret % MOD
    
    for i in range(x + 1):
        ret += (n - i) * (i + 1) * (i + 2) // 2
    return ret
    
    
ans = 0
l = 0
for t, v in tv:
    ans += v * (f(l + t - 1) - f(l - 1))
    ans %= MOD
    l += t
print(ans)
0