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 |