結果
問題 |
No.1546 [Cherry 2nd Tune D] 思ったよりも易しくない
|
ユーザー |
![]() |
提出日時 | 2021-06-13 00:47:14 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 990 bytes |
コンパイル時間 | 566 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 99,568 KB |
最終ジャッジ日時 | 2024-12-18 00:04:03 |
合計ジャッジ時間 | 79,920 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 5 WA * 23 TLE * 25 |
ソースコード
import sys sys.setrecursionlimit(10**7) def I(): return int(sys.stdin.readline().rstrip()) def MI(): return map(int,sys.stdin.readline().rstrip().split()) def LI(): return list(map(int,sys.stdin.readline().rstrip().split())) def LI2(): return list(map(int,sys.stdin.readline().rstrip())) def S(): return sys.stdin.readline().rstrip() def LS(): return list(sys.stdin.readline().rstrip().split()) def LS2(): return list(sys.stdin.readline().rstrip()) N = I() mod = 998244353 TV = [] M = 0 # Aの項数 for _ in range(N): T,V = MI() M += T TV.append((T,V)) def sum_power(n,i): # 1^i+2^i+…+n^i if i == 1: res = n*(n+1)//2 elif i == 2: res = n*(n+1)*(2*n+1)//6 else: res = n**2*(n+1)**2//4 return res % mod def f(n): res = (M+1)*((sum_power(n,1)+sum_power(n,2))//2)-(sum_power(n,2)+sum_power(n,3))//2 return res % mod l = 0 ans = 0 for T,V in TV: r = l+T ans += (f(r)-f(l))*V ans %= mod l = r print(ans)