結果
問題 |
No.2229 Treasure Searching Rod (Hard)
|
ユーザー |
|
提出日時 | 2023-02-24 22:53:15 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 825 bytes |
コンパイル時間 | 2,009 ms |
コンパイル使用メモリ | 193,816 KB |
最終ジャッジ日時 | 2025-02-10 22:05:37 |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | AC * 1 WA * 28 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; ll calc(ll H, ll W, ll r, ll c) { ll L, R; ll b = 0; if (r + c >= 2 && r >= c) { L = c - 1; b += max(0ll, r - c); } else { L = r - 1; } if (r + c >= 1 + W && r - c >= 1 - W) { R = W - c; b += max(0ll, r - 1 - (W - c)); } else { R = r - 1; } ll s = (L + R) * (r - 1) * 2 - L * L - R * R; b += (L + R + 1) * 2 - 2; ll a = (s - b + 1) / 2; return a + b; } ll const m = 998244353; int main () { ll H, W, K; cin >> H >> W >> K; ll ans = 0; for (int i = 0; i < K; i ++) { ll x, y, v; cin >> x >> y >> v; v %= m; ll c = calc(H, W, x, y) % m; ans += (c * v) % m; ans %= m; } cout << ans << endl; }