Submission #75882686
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int MOD = 998244353;
const int MAXN = 3e6 + 10;
ll fact[MAXN], inv_fact[MAXN];
ll pow_mod(ll base, ll exp) {
ll result = 1;
while (exp > 0) {
if (exp % 2 == 1) {
result = result * base % MOD;
}
base = base * base % MOD;
exp /= 2;
}
return result;
}
void precompute() {
fact[0] = 1;
for (int i = 1; i < MAXN; ++i) {
fact[i] = fact[i-1] * i % MOD;
}
inv_fact[MAXN-1] = pow_mod(fact[MAXN-1], MOD-2);
for (int i = MAXN-2; i >= 0; --i) {
inv_fact[i] = inv_fact[i+1] * (i+1) % MOD;
}
}
ll comb(int n, int k) {
if (k < 0 || k > n) return 0;
return fact[n] * inv_fact[k] % MOD * inv_fact[n - k] % MOD;
}
ll f(int a, int b) {
if (a == 0) return 1;
if (b == 0) return 1;
ll total = comb(a + b, a);
if (a > b) {
total = (total - comb(a + b, a - b - 1) + MOD) % MOD;
} else if (b > a) {
total = (total - comb(a + b, b - a - 1) + MOD) % MOD;
}
return total;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
precompute();
int X1, X2, X3;
cin >> X1 >> X2 >> X3;
ll case1 = 0;
if (X1 > 0) {
ll f12 = f(X1 - 1, X2);
int k = X2 + 1;
ll insert3 = comb(k + X3 - 1, X3);
case1 = f12 * insert3 % MOD;
}
ll case2 = 0;
if (X2 > 0) {
ll f12 = f(X1, X2 - 1);
int k = X2 + 1;
ll insert3 = comb(k + X3 - 1, X3);
case2 = f12 * insert3 % MOD;
}
ll case3 = 0;
if (X3 > 0) {
ll f23 = f(X2, X3 - 1);
int k = X2 + 1;
ll insert1 = comb(k + X1 - 1, X1);
case3 = f23 * insert1 % MOD;
}
ll ans = (case1 + case2 + case3) % MOD;
cout << ans/2<< endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Count 123 |
| User | Axiom_ |
| Language | C++23 (GCC 15.2.0) |
| Score | 0 |
| Code Size | 1900 Byte |
| Status | WA |
| Exec Time | 43 ms |
| Memory | 50588 KiB |
Judge Result
| Set Name | Sample | All | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 0 / 450 | ||||||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt |
| All | 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00-sample-01.txt | AC | 42 ms | 50504 KiB |
| 00-sample-02.txt | WA | 42 ms | 50588 KiB |
| 00-sample-03.txt | WA | 42 ms | 50524 KiB |
| 01-01.txt | WA | 42 ms | 50376 KiB |
| 01-02.txt | WA | 42 ms | 50588 KiB |
| 01-03.txt | WA | 42 ms | 50536 KiB |
| 01-04.txt | WA | 42 ms | 50516 KiB |
| 01-05.txt | WA | 42 ms | 50588 KiB |
| 01-06.txt | WA | 42 ms | 50572 KiB |
| 01-07.txt | WA | 43 ms | 50480 KiB |
| 01-08.txt | WA | 42 ms | 50536 KiB |
| 01-09.txt | WA | 42 ms | 50480 KiB |
| 01-10.txt | WA | 42 ms | 50536 KiB |
| 01-11.txt | WA | 42 ms | 50392 KiB |
| 01-12.txt | WA | 42 ms | 50392 KiB |
| 01-13.txt | WA | 42 ms | 50588 KiB |
| 01-14.txt | WA | 42 ms | 50408 KiB |
| 01-15.txt | WA | 42 ms | 50480 KiB |
| 01-16.txt | WA | 42 ms | 50436 KiB |
| 01-17.txt | WA | 42 ms | 50524 KiB |
| 01-18.txt | WA | 42 ms | 50480 KiB |
| 01-19.txt | WA | 42 ms | 50524 KiB |
| 01-20.txt | WA | 42 ms | 50588 KiB |
| 01-21.txt | WA | 42 ms | 50448 KiB |
| 01-22.txt | WA | 42 ms | 50448 KiB |
| 01-23.txt | WA | 42 ms | 50396 KiB |
| 01-24.txt | WA | 42 ms | 50524 KiB |
| 01-25.txt | WA | 42 ms | 50448 KiB |
| 01-26.txt | WA | 42 ms | 50412 KiB |
| 01-27.txt | WA | 42 ms | 50448 KiB |
| 01-28.txt | WA | 42 ms | 50588 KiB |
| 01-29.txt | WA | 42 ms | 50524 KiB |
| 01-30.txt | WA | 42 ms | 50524 KiB |