Submission #33870319


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
#define MOD 998244353
#define rep(i,a,n) for (ll i=a;i<(ll)n;i++)
#define per(i,a,n) for (ll i=n;i-->(ll)a;)
#define pb push_back

ll read(){ll r;scanf("%lld",&r);return r;} // read

int n;

int qpow(ll v,int pwr){
  ll r = 1;
  while(pwr){
    if(pwr%2) (r*=v)%=MOD;
    (v*=v)%=MOD;
    pwr/=2;
  }
  return r;
}

int fac[20000010] = {1};
int ifac[20000010];

ll binom(ll n,ll m){
  if(n < 0 || m < 0 || m > n) return 0;
  return fac[n]*(ll)ifac[m]%MOD*(ll)ifac[n-m]%MOD;
}

int main(){
  int n = read();
  rep(i,1,2*n+1) fac[i] = fac[i-1]*(ll)i % MOD;
  ifac[2*n] = qpow(fac[2*n],MOD-2);
  per(i,0,2*n) ifac[i] = ifac[i+1] * (ll)(i+1) % MOD;
  ll ans = 0;
  ll p3 = qpow(3,n-1);
  ll inv3_sq = qpow(3*3, MOD-2);
  // sum_{i=[0..2n]}binom(2n,i)binom(2n-i,n-1-2i) 3^{n-1-2i}
  rep(i,0,2*n+1) {
    if(n-1-2*i < 0) break;
    (ans += binom(2*n,i)*binom(2*n-i,n-1-2*i)%MOD*p3) %= MOD;
    (p3 *= inv3_sq)%=MOD;
  }
  printf("%lld\n",ans*qpow(n,MOD-2) % MOD); // 1/n
  return 0;
}

Submission Info

Submission Time
Task H - Beautiful Binary Tree
User cromarmot
Language C++ (GCC 9.2.1)
Score 600
Code Size 1049 Byte
Status AC
Exec Time 334 ms
Memory 159988 KiB

Compile Error

./Main.cpp: In function ‘ll read()’:
./Main.cpp:10:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   10 | ll read(){ll r;scanf("%lld",&r);return r;} // read
      |                ~~~~~^~~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 4
AC × 35
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.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, 02_medium_00.txt, 02_medium_01.txt, 02_medium_02.txt, 02_medium_03.txt, 02_medium_04.txt, 02_medium_05.txt, 02_medium_06.txt, 02_medium_07.txt, 02_medium_08.txt, 02_medium_09.txt, 03_large_00.txt, 03_large_01.txt, 03_large_02.txt, 03_large_03.txt, 03_large_04.txt, 04_max_00.txt, 04_max_01.txt, 04_max_02.txt, 05_random_00.txt, 05_random_01.txt, 05_random_02.txt, 05_random_03.txt, 05_random_04.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 8 ms 3764 KiB
00_sample_01.txt AC 1 ms 3760 KiB
00_sample_02.txt AC 2 ms 3752 KiB
00_sample_03.txt AC 15 ms 7216 KiB
01_small_00.txt AC 2 ms 3656 KiB
01_small_01.txt AC 3 ms 3872 KiB
01_small_02.txt AC 2 ms 3756 KiB
01_small_03.txt AC 2 ms 3764 KiB
01_small_04.txt AC 3 ms 3768 KiB
01_small_05.txt AC 2 ms 3868 KiB
01_small_06.txt AC 2 ms 3680 KiB
01_small_07.txt AC 2 ms 3768 KiB
02_medium_00.txt AC 2 ms 3768 KiB
02_medium_01.txt AC 2 ms 3656 KiB
02_medium_02.txt AC 2 ms 3768 KiB
02_medium_03.txt AC 2 ms 3680 KiB
02_medium_04.txt AC 2 ms 3864 KiB
02_medium_05.txt AC 2 ms 3864 KiB
02_medium_06.txt AC 2 ms 3732 KiB
02_medium_07.txt AC 3 ms 3676 KiB
02_medium_08.txt AC 2 ms 3760 KiB
02_medium_09.txt AC 2 ms 3804 KiB
03_large_00.txt AC 278 ms 133984 KiB
03_large_01.txt AC 302 ms 146496 KiB
03_large_02.txt AC 270 ms 128760 KiB
03_large_03.txt AC 322 ms 155924 KiB
03_large_04.txt AC 215 ms 102412 KiB
04_max_00.txt AC 334 ms 159948 KiB
04_max_01.txt AC 332 ms 159988 KiB
04_max_02.txt AC 330 ms 159948 KiB
05_random_00.txt AC 114 ms 54732 KiB
05_random_01.txt AC 193 ms 92936 KiB
05_random_02.txt AC 167 ms 78192 KiB
05_random_03.txt AC 280 ms 135168 KiB
05_random_04.txt AC 65 ms 31036 KiB