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
AC × 1
WA × 2
AC × 1
WA × 32
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