結果
問題 | No.1857 Gacha Addiction |
ユーザー | 👑 cologne |
提出日時 | 2022-02-26 23:04:35 |
言語 | C++23(draft) (gcc 13.2.0 + boost 1.83.0) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 655 bytes |
コンパイル時間 | 1,111 ms |
コンパイル使用メモリ | 107,468 KB |
最終ジャッジ日時 | 2023-09-18 03:24:25 |
合計ジャッジ時間 | 3,896 ms |
ジャッジサーバーID (参考情報) |
judge11 / judge14 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.cpp: 関数 ‘int main()’ 内: main.cpp:20:9: エラー: ‘function’ was not declared in this scope 20 | function<vector<Mint>(int, int)> calc = [&](int l, int r) | ^~~~~~~~ main.cpp:4:1: 備考: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’? 3 | #include <atcoder/convolution> +++ |+#include <functional> 4 | main.cpp:20:30: エラー: expected primary-expression before ‘(’ token 20 | function<vector<Mint>(int, int)> calc = [&](int l, int r) | ^ main.cpp:20:31: エラー: expected primary-expression before ‘int’ 20 | function<vector<Mint>(int, int)> calc = [&](int l, int r) | ^~~ main.cpp:20:36: エラー: expected primary-expression before ‘int’ 20 | function<vector<Mint>(int, int)> calc = [&](int l, int r) | ^~~ main.cpp:20:42: エラー: ‘calc’ was not declared in this scope; did you mean ‘calloc’? 20 | function<vector<Mint>(int, int)> calc = [&](int l, int r) | ^~~~ | calloc
ソースコード
#include <iostream> #include <vector> #include <atcoder/convolution> using namespace std; using Mint = atcoder::modint998244353; int main() { int N, S; cin >> N >> S; Mint Sinv = Mint(S).inv(); vector<Mint> P; for (int i = 0; i < N; ++i) { int p; cin >> p; P.push_back(p * Sinv); } function<vector<Mint>(int, int)> calc = [&](int l, int r) { if (l == r) return vector<Mint>({1, P[l]}); int m = (l + r) / 2; return atcoder::convolution(calc(l, m), calc(m + 1, r)); }; auto ret = calc(0, N - 1); Mint ans = 0, fact = 1; for (int i = 0; i <= N; i++) { ans += ret[i] * fact; fact *= i + 1; } cout << ans.val() << endl; }