結果
| 問題 |
No.2230 Good Omen of White Lotus
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-03-06 00:23:07 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 565 ms / 2,000 ms |
| コード長 | 450 bytes |
| コンパイル時間 | 313 ms |
| コンパイル使用メモリ | 82,456 KB |
| 実行使用メモリ | 105,028 KB |
| 最終ジャッジ日時 | 2024-09-18 01:43:37 |
| 合計ジャッジ時間 | 13,152 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 44 |
ソースコード
from bisect import bisect_right
MOD = 998244353
h, w, n, P = map(int, input().split())
xy = [list(map(int, input().split())) for _ in range(n)]
xy.sort(key=lambda x:(x[0] << 30) + x[1])
lst = []
for _, y in xy:
p = bisect_right(lst, y)
if len(lst) == p:
lst.append(y)
else:
lst[p] = y
inv = pow(P, MOD - 2, MOD)
x = len(lst)
y = h + w - 3 - x
ans = 1 - pow(1 - inv, y, MOD) * pow(1 - 2 * inv, x, MOD)
print(ans % MOD)