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 |
|
|
| 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 |