結果
問題 | No.1857 Gacha Addiction |
ユーザー | cologne |
提出日時 | 2022-02-26 23:04:35 |
言語 | C++23 (gcc 12.3.0 + boost 1.83.0) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 655 bytes |
コンパイル時間 | 917 ms |
コンパイル使用メモリ | 108,096 KB |
最終ジャッジ日時 | 2024-11-15 02:09:58 |
合計ジャッジ時間 | 2,296 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.cpp: In function 'int main()': main.cpp:20:9: error: 'function' was not declared in this scope 20 | function<vector<Mint>(int, int)> calc = [&](int l, int r) | ^~~~~~~~ main.cpp:4:1: note: 'std::function' is defined in header '<functional>'; did you forget to '#include <functional>'? 3 | #include <atcoder/convolution> +++ |+#include <functional> 4 | main.cpp:20:30: error: expected primary-expression before '(' token 20 | function<vector<Mint>(int, int)> calc = [&](int l, int r) | ^ main.cpp:20:31: error: expected primary-expression before 'int' 20 | function<vector<Mint>(int, int)> calc = [&](int l, int r) | ^~~ main.cpp:20:36: error: expected primary-expression before 'int' 20 | function<vector<Mint>(int, int)> calc = [&](int l, int r) | ^~~ main.cpp:20:42: error: '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; }