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
AC × 3
AC × 75
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