提出 #75859688
ソースコード 拡げる
#include <iostream>
#include <vector>
using namespace std;
const int MOD = 998244353;
const int MAX = 3000005;
long long modpow(long long a, long long e) {
long long res = 1;
while (e) {
if (e & 1) res = res * a % MOD;
a = a * a % MOD;
e >>= 1;
}
return res;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int X1, X2, X3;
cin >> X1 >> X2 >> X3;
int M = X2 + 1;
int Nmax = X1 + X2 + X3 + 5;
vector<long long> fact(Nmax + 1), invfact(Nmax + 1);
fact[0] = 1;
for (int i = 1; i <= Nmax; ++i)
fact[i] = fact[i-1] * i % MOD;
invfact[Nmax] = modpow(fact[Nmax], MOD-2);
for (int i = Nmax-1; i >= 0; --i)
invfact[i] = invfact[i+1] * (i+1) % MOD;
auto C = [&](int n, int k) -> long long {
if (k < 0 || k > n) return 0;
return fact[n] * invfact[k] % MOD * invfact[n-k] % MOD;
};
long long ans = 0;
int lim = min(X1, M);
for (int i = 1; i <= lim; ++i) {
int rem = M - i;
if (rem == 0) continue;
long long ways = C(M, i) * C(X1 - 1, i - 1) % MOD;
ways = ways * C(X3 + rem - 1, rem - 1) % MOD;
ans = (ans + ways) % MOD;
}
cout << ans;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - Count 123 |
| ユーザ | zkl018 |
| 言語 | C++23 (GCC 15.2.0) |
| 得点 | 450 |
| コード長 | 1272 Byte |
| 結果 | AC |
| 実行時間 | 55 ms |
| メモリ | 50288 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 450 / 450 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| 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 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00-sample-01.txt | AC | 1 ms | 3552 KiB |
| 00-sample-02.txt | AC | 1 ms | 3560 KiB |
| 00-sample-03.txt | AC | 55 ms | 50084 KiB |
| 01-01.txt | AC | 21 ms | 22892 KiB |
| 01-02.txt | AC | 11 ms | 13028 KiB |
| 01-03.txt | AC | 22 ms | 21740 KiB |
| 01-04.txt | AC | 14 ms | 14820 KiB |
| 01-05.txt | AC | 36 ms | 32816 KiB |
| 01-06.txt | AC | 22 ms | 22240 KiB |
| 01-07.txt | AC | 1 ms | 3476 KiB |
| 01-08.txt | AC | 55 ms | 50288 KiB |
| 01-09.txt | AC | 55 ms | 50224 KiB |
| 01-10.txt | AC | 55 ms | 50224 KiB |
| 01-11.txt | AC | 31 ms | 34672 KiB |
| 01-12.txt | AC | 31 ms | 34672 KiB |
| 01-13.txt | AC | 22 ms | 25524 KiB |
| 01-14.txt | AC | 20 ms | 23856 KiB |
| 01-15.txt | AC | 24 ms | 23592 KiB |
| 01-16.txt | AC | 10 ms | 11748 KiB |
| 01-17.txt | AC | 10 ms | 11744 KiB |
| 01-18.txt | AC | 16 ms | 17852 KiB |
| 01-19.txt | AC | 35 ms | 34736 KiB |
| 01-20.txt | AC | 32 ms | 30944 KiB |
| 01-21.txt | AC | 36 ms | 34536 KiB |
| 01-22.txt | AC | 14 ms | 15344 KiB |
| 01-23.txt | AC | 35 ms | 34596 KiB |
| 01-24.txt | AC | 25 ms | 25128 KiB |
| 01-25.txt | AC | 35 ms | 34672 KiB |
| 01-26.txt | AC | 28 ms | 27744 KiB |
| 01-27.txt | AC | 35 ms | 34532 KiB |
| 01-28.txt | AC | 13 ms | 14244 KiB |
| 01-29.txt | AC | 35 ms | 34532 KiB |
| 01-30.txt | AC | 26 ms | 25712 KiB |