結果
| 問題 |
No.2225 Treasure Searching Rod (Easy)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-12-20 14:45:15 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 33 ms / 2,000 ms |
| コード長 | 766 bytes |
| コンパイル時間 | 101 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 11,136 KB |
| 最終ジャッジ日時 | 2024-11-18 01:50:02 |
| 合計ジャッジ時間 | 1,544 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 23 |
ソースコード
def rectangle(len):
return 0 if len < 0 else ((len)*(len+1)//2)
def inverted(W, I, J, V):
cnt = (I+1)*(I+1)-rectangle(I-J)-rectangle(I+J+1-W)
return V * cnt % 998244353
def main():
H, W, K = map(int, input().split())
assert(1 <= H and H <= 100000)
assert(1 <= W and W <= 100000)
assert(0 <= K and K <= min(H*W, 200000))
XYVs = [None for _ in range(K)]
for i in range(K):
X, Y, V = map(int, input().split())
assert(1 <= X and X <= H)
assert(1 <= Y and Y <= W)
assert(0 <= V and V <= 1000000000)
X -= 1
Y -= 1
XYVs[i] = (X, Y, V)
ans = 0
for x, y, v in XYVs:
ans += inverted(W, x, y, v)
print(ans % 998244353)
if __name__ == '__main__':
main()