Submission #34663174


Source Code Expand

#include <bits/stdc++.h>
#include <atcoder/modint>
using mint = atcoder::modint998244353;
using namespace std;
#define rep(i,a,n) for (int i=a;i<(int)n;i++)
#define per(i,a,n) for (int i=n;i-->(int)a;)
int read(){int r;scanf("%d",&r);return r;} // read

mint fac[5000010] = {1};
mint ifac[5000010] = {1};
int a[3];
mint binom(int n,int m){
  if(n < 0 || m > n) return 0;
  return fac[n]*ifac[m]*ifac[n-m];
}

int main(){
  int n = read();
  rep(i,0,3) a[i] = read();
  rep(i,1,n+1) fac[i]=fac[i-1]*i;
  ifac[n] = fac[n].inv();
  per(i,0,n) ifac[i]=ifac[i+1]*(i+1);

  mint f[] = {1,1,1};
  mint sgn = n%2?-1:1;
  mint ans = 0;
  rep(i,0,n+1){
    ans += binom(n, i) * f[0] * f[1] * f[2] * sgn;
    rep(j,0,3) f[j] = f[j]*2 - binom(i,a[j]);
    sgn = -sgn;
  }
  printf("%d\n",ans.val());
  return 0;
}

Submission Info

Submission Time
Task G - Gardens
User cromarmot
Language C++ (GCC 9.2.1)
Score 600
Code Size 803 Byte
Status AC
Exec Time 202 ms
Memory 42848 KiB

Compile Error

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

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 5
AC × 38
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.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, 01_small_09.txt, 01_small_10.txt, 01_small_11.txt, 02_max_00.txt, 02_max_01.txt, 02_max_02.txt, 03_n_max_00.txt, 03_n_max_01.txt, 03_n_max_02.txt, 04_random_00.txt, 04_random_01.txt, 04_random_02.txt, 04_random_03.txt, 04_random_04.txt, 05_zero_00.txt, 05_zero_01.txt, 05_zero_02.txt, 05_zero_03.txt, 06_same_00.txt, 06_same_01.txt, 06_same_02.txt, 07_multinomial_00.txt, 07_multinomial_01.txt, 07_multinomial_02.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 29 ms 42784 KiB
00_sample_01.txt AC 31 ms 42660 KiB
00_sample_02.txt AC 32 ms 42848 KiB
00_sample_03.txt AC 32 ms 42672 KiB
00_sample_04.txt AC 194 ms 42840 KiB
01_small_00.txt AC 30 ms 42780 KiB
01_small_01.txt AC 28 ms 42724 KiB
01_small_02.txt AC 32 ms 42608 KiB
01_small_03.txt AC 33 ms 42736 KiB
01_small_04.txt AC 28 ms 42608 KiB
01_small_05.txt AC 31 ms 42776 KiB
01_small_06.txt AC 28 ms 42608 KiB
01_small_07.txt AC 31 ms 42660 KiB
01_small_08.txt AC 28 ms 42780 KiB
01_small_09.txt AC 31 ms 42660 KiB
01_small_10.txt AC 32 ms 42604 KiB
01_small_11.txt AC 32 ms 42656 KiB
02_max_00.txt AC 148 ms 42724 KiB
02_max_01.txt AC 151 ms 42732 KiB
02_max_02.txt AC 147 ms 42676 KiB
03_n_max_00.txt AC 191 ms 42848 KiB
03_n_max_01.txt AC 174 ms 42732 KiB
03_n_max_02.txt AC 180 ms 42784 KiB
04_random_00.txt AC 131 ms 42732 KiB
04_random_01.txt AC 118 ms 42676 KiB
04_random_02.txt AC 125 ms 42776 KiB
04_random_03.txt AC 136 ms 42672 KiB
04_random_04.txt AC 171 ms 42780 KiB
05_zero_00.txt AC 50 ms 42780 KiB
05_zero_01.txt AC 202 ms 42660 KiB
05_zero_02.txt AC 104 ms 42784 KiB
05_zero_03.txt AC 173 ms 42676 KiB
06_same_00.txt AC 137 ms 42604 KiB
06_same_01.txt AC 114 ms 42732 KiB
06_same_02.txt AC 120 ms 42784 KiB
07_multinomial_00.txt AC 113 ms 42836 KiB
07_multinomial_01.txt AC 152 ms 42784 KiB
07_multinomial_02.txt AC 125 ms 42728 KiB