結果
| 問題 |
No.2872 Depth of the Parentheses
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-07-16 03:32:35 |
| 言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
| 結果 |
CE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 888 bytes |
| コンパイル時間 | 744 ms |
| コンパイル使用メモリ | 60,860 KB |
| 最終ジャッジ日時 | 2025-02-23 15:49:28 |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.cpp:5:10: fatal error: testlib.h: No such file or directory
5 | #include "testlib.h"
| ^~~~~~~~~~~
compilation terminated.
ソースコード
#include <bits/stdc++.h>
#include <atcoder/modint.hpp>
#include "testlib.h"
using namespace std;
using mint = atcoder::modint998244353;
int main() {
registerValidation();
int x = inf.readInt(0, 100);
inf.readSpace();
int k = inf.readInt(1, 10);
inf.readEoln();
inf.readEof();
mint ans = 0;
for (int bit = 0; bit < (1 << 2 * k); bit++) {
auto depth = [&]() -> mint {
int cnt = 0;
int ans = 0;
for (int i = 0; i < 2*k; i++) {
if ((bit >> i) & 1)
cnt++;
else
cnt--;
if (cnt < 0) return 0;
ans = max(ans, cnt);
}
return cnt == 0 ? ans : 0;
};
ans += depth();
}
mint p = mint(x) / 100;
ans *= p.pow(k) * (mint(1) - p).pow(k);
cout << ans.val() << endl;
}