結果
問題 |
No.2683 Two Sheets
|
ユーザー |
![]() |
提出日時 | 2024-03-20 23:29:50 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 724 bytes |
コンパイル時間 | 2,737 ms |
コンパイル使用メモリ | 249,208 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-09-30 09:32:00 |
合計ジャッジ時間 | 3,396 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 4 WA * 9 |
ソースコード
#include <bits/stdc++.h> #include <atcoder/modint> using namespace std; using ll = long long; using mint = atcoder::modint998244353; int H, W, A, B; int main(void){ ios::sync_with_stdio(false); cin.tie(nullptr); cin >> H >> W >> A >> B; mint s1h = 0, s2h = 0, s1w = 0, s2w = 0; for(int i = 1;i <= H;i++){ mint v = min({A, i, H - i + 1}); s1h += v; s2h += v * v; } for(int i = 1;i <= W;i++){ mint v = min({B, i, W - i + 1}); s1w += v; s2w += v * v; } mint q = (ll)(H - A + 1) * (W - B + 1); mint w = s2h * s2w - 2 * q * s1h * s1w + q * q * H * W; mint ans = (ll)H * W - w / q / q; cout << ans.val() << endl; return 0; }