Submission #37194740
Source Code Expand
#include <bits/stdc++.h>
#include <atcoder/modint>
#include <atcoder/convolution>
const int MOD=998244353;
using mint = atcoder::static_modint<MOD>;
using namespace std;
typedef long long ll;
#define rep(i,a,n) for (ll i=a;i<(ll)n;i++)
ll read(){ll r;scanf("%lld",&r);return r;}
int n;
mint ans=0;
template<class T>
vector<T>vec(const vector<T>a,int l,int r){ return vector<T>(a.begin()+l,a.begin()+r); }
// g 表示 f(x)(1+a_2 x)...(1+a_{l-1} x), 中[l..r) 的系数 主要用来 取 ai
// 返回 (1+a_l x)(1+a_{l+1} x)...(1+a_{r-1} x), 没有f(x)
vector<mint> dc(int l,int r,const vector<mint>& g){ // dc [l,r) 返回的幂次 肯定是 r-l
if(l==n) ans=g[0];
if(r-l==1) return {1,g[0]};
int m = (l+r)/2;
auto glm=vec(g,0,m-l); // g[0..m-l) = g[l..m)
auto dclm = dc(l,m,glm);
auto gmr = vec(convolution(g,dclm),m-l,r-l); // (g*dclm)[m-l..r-l) = g[m..r)
return convolution(dclm,dc(m,r,gmr));
}
int main(){
n=read();
mint a=read();
if(n==1){
printf("%d\n",a.val());
return 0;
}
mint coef=1;
vector<mint> f={coef};
rep(i,1,n+1) f.push_back(coef=(coef*(a-i+1)/i));
dc(2,n+1,vec(f,2,n+1));
printf("%d\n",ans.val());
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | Ex - Alchemy |
| User | cromarmot |
| Language | C++ (GCC 9.2.1) |
| Score | 600 |
| Code Size | 1174 Byte |
| Status | AC |
| Exec Time | 441 ms |
| Memory | 13300 KiB |
Compile Error
./Main.cpp: In function ‘ll read()’:
./Main.cpp:11:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
11 | ll read(){ll r;scanf("%lld",&r);return r;}
| ~~~~~^~~~~~~~~~~
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 01_small_05.txt, 01_small_06.txt, 01_small_07.txt, 01_small_08.txt, 02_large_00.txt, 02_large_01.txt, 02_large_02.txt, 02_large_03.txt, 02_large_04.txt, 02_large_05.txt, 02_large_06.txt, 02_large_07.txt, 02_large_08.txt, 03_rnd_00.txt, 03_rnd_01.txt, 03_rnd_02.txt, 03_rnd_03.txt, 03_rnd_04.txt, 03_rnd_05.txt, 03_rnd_06.txt, 03_rnd_07.txt, 03_rnd_08.txt, 03_rnd_09.txt, 04_lrnd_00.txt, 04_lrnd_01.txt, 04_lrnd_02.txt, 04_lrnd_03.txt, 04_lrnd_04.txt, 04_lrnd_05.txt, 04_lrnd_06.txt, 04_lrnd_07.txt, 04_lrnd_08.txt, 04_lrnd_09.txt, 05_mod_00.txt, 05_mod_01.txt, 05_mod_02.txt, 05_mod_03.txt, 05_mod_04.txt, 05_mod_05.txt, 05_mod_06.txt, 05_mod_07.txt, 05_mod_08.txt, 05_mod_09.txt, 05_mod_10.txt, 05_mod_11.txt, 05_mod_12.txt, 05_mod_13.txt, 05_mod_14.txt, 05_mod_15.txt, 05_mod_16.txt, 05_mod_17.txt, 05_mod_18.txt, 05_mod_19.txt, 06_pow_00.txt, 06_pow_01.txt, 06_pow_02.txt, 06_pow_03.txt, 06_pow_04.txt, 06_pow_05.txt, 06_pow_06.txt, 06_pow_07.txt, 06_pow_08.txt, 06_pow_09.txt, 06_pow_10.txt, 06_pow_11.txt, 06_pow_12.txt, 06_pow_13.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 3704 KiB |
| 00_sample_01.txt | AC | 2 ms | 3712 KiB |
| 00_sample_02.txt | AC | 437 ms | 12940 KiB |
| 01_small_00.txt | AC | 2 ms | 3768 KiB |
| 01_small_01.txt | AC | 2 ms | 3800 KiB |
| 01_small_02.txt | AC | 1 ms | 3756 KiB |
| 01_small_03.txt | AC | 2 ms | 3704 KiB |
| 01_small_04.txt | AC | 2 ms | 3796 KiB |
| 01_small_05.txt | AC | 2 ms | 3704 KiB |
| 01_small_06.txt | AC | 2 ms | 3796 KiB |
| 01_small_07.txt | AC | 2 ms | 3688 KiB |
| 01_small_08.txt | AC | 2 ms | 3704 KiB |
| 02_large_00.txt | AC | 441 ms | 13044 KiB |
| 02_large_01.txt | AC | 434 ms | 12948 KiB |
| 02_large_02.txt | AC | 433 ms | 12948 KiB |
| 02_large_03.txt | AC | 435 ms | 12792 KiB |
| 02_large_04.txt | AC | 434 ms | 13044 KiB |
| 02_large_05.txt | AC | 439 ms | 12796 KiB |
| 02_large_06.txt | AC | 437 ms | 12940 KiB |
| 02_large_07.txt | AC | 433 ms | 12796 KiB |
| 02_large_08.txt | AC | 438 ms | 12792 KiB |
| 03_rnd_00.txt | AC | 213 ms | 8396 KiB |
| 03_rnd_01.txt | AC | 423 ms | 12396 KiB |
| 03_rnd_02.txt | AC | 198 ms | 7476 KiB |
| 03_rnd_03.txt | AC | 430 ms | 12876 KiB |
| 03_rnd_04.txt | AC | 97 ms | 5452 KiB |
| 03_rnd_05.txt | AC | 202 ms | 7776 KiB |
| 03_rnd_06.txt | AC | 12 ms | 3872 KiB |
| 03_rnd_07.txt | AC | 206 ms | 8204 KiB |
| 03_rnd_08.txt | AC | 280 ms | 9884 KiB |
| 03_rnd_09.txt | AC | 137 ms | 6208 KiB |
| 04_lrnd_00.txt | AC | 436 ms | 13152 KiB |
| 04_lrnd_01.txt | AC | 434 ms | 13300 KiB |
| 04_lrnd_02.txt | AC | 434 ms | 13196 KiB |
| 04_lrnd_03.txt | AC | 436 ms | 12848 KiB |
| 04_lrnd_04.txt | AC | 435 ms | 13052 KiB |
| 04_lrnd_05.txt | AC | 438 ms | 13104 KiB |
| 04_lrnd_06.txt | AC | 437 ms | 12968 KiB |
| 04_lrnd_07.txt | AC | 435 ms | 12912 KiB |
| 04_lrnd_08.txt | AC | 435 ms | 12956 KiB |
| 04_lrnd_09.txt | AC | 436 ms | 12944 KiB |
| 05_mod_00.txt | AC | 2 ms | 3764 KiB |
| 05_mod_01.txt | AC | 2 ms | 3652 KiB |
| 05_mod_02.txt | AC | 2 ms | 3776 KiB |
| 05_mod_03.txt | AC | 2 ms | 3652 KiB |
| 05_mod_04.txt | AC | 2 ms | 3704 KiB |
| 05_mod_05.txt | AC | 2 ms | 3752 KiB |
| 05_mod_06.txt | AC | 2 ms | 3712 KiB |
| 05_mod_07.txt | AC | 2 ms | 3716 KiB |
| 05_mod_08.txt | AC | 2 ms | 3808 KiB |
| 05_mod_09.txt | AC | 2 ms | 3804 KiB |
| 05_mod_10.txt | AC | 261 ms | 8968 KiB |
| 05_mod_11.txt | AC | 261 ms | 8860 KiB |
| 05_mod_12.txt | AC | 260 ms | 8776 KiB |
| 05_mod_13.txt | AC | 261 ms | 8964 KiB |
| 05_mod_14.txt | AC | 261 ms | 8860 KiB |
| 05_mod_15.txt | AC | 439 ms | 12900 KiB |
| 05_mod_16.txt | AC | 437 ms | 12940 KiB |
| 05_mod_17.txt | AC | 435 ms | 12980 KiB |
| 05_mod_18.txt | AC | 434 ms | 12900 KiB |
| 05_mod_19.txt | AC | 437 ms | 12952 KiB |
| 06_pow_00.txt | AC | 253 ms | 8812 KiB |
| 06_pow_01.txt | AC | 251 ms | 8836 KiB |
| 06_pow_02.txt | AC | 257 ms | 8972 KiB |
| 06_pow_03.txt | AC | 254 ms | 8732 KiB |
| 06_pow_04.txt | AC | 254 ms | 8724 KiB |
| 06_pow_05.txt | AC | 255 ms | 8524 KiB |
| 06_pow_06.txt | AC | 259 ms | 8864 KiB |
| 06_pow_07.txt | AC | 261 ms | 8872 KiB |
| 06_pow_08.txt | AC | 279 ms | 8876 KiB |
| 06_pow_09.txt | AC | 271 ms | 8768 KiB |
| 06_pow_10.txt | AC | 271 ms | 8684 KiB |
| 06_pow_11.txt | AC | 271 ms | 8768 KiB |
| 06_pow_12.txt | AC | 271 ms | 8868 KiB |
| 06_pow_13.txt | AC | 272 ms | 8876 KiB |