結果
| 問題 |
No.2683 Two Sheets
|
| コンテスト | |
| ユーザー |
kokosei
|
| 提出日時 | 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;
}
kokosei