Submission #34399458
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
#ifdef B01
#include "deb.h"
#else
#define deb(...)
#endif
const int N = (int) 5e6 + 9;
const long long md = (long long) 998244353;
long long iv[N], f1[N], f2[N];
long long C(long long n, long long k) {
return (long long) f1[n] * f2[n - k] % md * f2[k] % md;
}
void bldI() {
iv[1] = 1;
for(long long i = 2; i < N; i++) {
iv[i] = md - md / (long long) i * iv[md % i] % md;
}
}
void bldF() {
f1[0] = f2[0] = 1;
for(long long i = 1; i < N; i++) {
f1[i] = (long long) f1[i - 1] * i % md;
f2[i] = (long long) f2[i - 1] * iv[i] % md;
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
bldI();
bldF();
long long r, g, b, k;
cin >> r >> g >> b >> k;
long long n = r + g + b;
r -= k; g -= k; n -= k;
long long ans = C(n, k);
n -= k;
long long z = 0;
for (long long i = 0; i <= min(r, g); i++) {
if (i & 1) {
z -= C(n - i, i) * C(n - i - i, r - i) % md * C(n - i - r, g - i) % md * C(n - r - g, b) % md;
z %= md;
z += md;
z %= md;
} else {
z += C(n - i, i) * C(n - i - i, r - i) % md * C(n - i - r, g - i) % md * C(n - r - g, b) % md;
z %= md;
}
}
cout << ans * z % md << '\n';
return 0;
}
// G
Submission Info
| Submission Time | |
|---|---|
| Task | G - Yet Another RGB Sequence |
| User | BERNARB01 |
| Language | C++ (GCC 9.2.1) |
| Score | 0 |
| Code Size | 1310 Byte |
| Status | WA |
| Exec Time | 334 ms |
| Memory | 120728 KiB |
Judge Result
| Set Name | Sample | All | ||||||
|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 0 / 600 | ||||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_01.txt, 00_sample_02.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 01_small_05.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 02_random_08.txt, 02_random_09.txt, 02_random_10.txt, 03_large_01.txt, 03_large_02.txt, 03_large_03.txt, 03_large_04.txt, 03_large_05.txt, 03_large_06.txt, 03_large_07.txt, 03_large_08.txt, 03_large_09.txt, 03_large_10.txt, 03_large_11.txt, 03_large_12.txt, 03_large_13.txt, 03_large_14.txt, 03_large_15.txt, 03_large_16.txt, 03_large_17.txt, 03_large_18.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_01.txt | AC | 293 ms | 120716 KiB |
| 00_sample_02.txt | AC | 287 ms | 120612 KiB |
| 01_small_01.txt | AC | 277 ms | 120688 KiB |
| 01_small_02.txt | AC | 263 ms | 120672 KiB |
| 01_small_03.txt | AC | 285 ms | 120564 KiB |
| 01_small_04.txt | WA | 296 ms | 120668 KiB |
| 01_small_05.txt | AC | 291 ms | 120668 KiB |
| 02_random_01.txt | WA | 298 ms | 120728 KiB |
| 02_random_02.txt | WA | 318 ms | 120672 KiB |
| 02_random_03.txt | WA | 315 ms | 120672 KiB |
| 02_random_04.txt | WA | 316 ms | 120620 KiB |
| 02_random_05.txt | WA | 311 ms | 120620 KiB |
| 02_random_06.txt | WA | 314 ms | 120664 KiB |
| 02_random_07.txt | WA | 305 ms | 120716 KiB |
| 02_random_08.txt | WA | 327 ms | 120672 KiB |
| 02_random_09.txt | WA | 334 ms | 120728 KiB |
| 02_random_10.txt | WA | 297 ms | 120664 KiB |
| 03_large_01.txt | WA | 318 ms | 120652 KiB |
| 03_large_02.txt | WA | 321 ms | 120676 KiB |
| 03_large_03.txt | WA | 323 ms | 120700 KiB |
| 03_large_04.txt | WA | 304 ms | 120616 KiB |
| 03_large_05.txt | WA | 313 ms | 120612 KiB |
| 03_large_06.txt | WA | 319 ms | 120724 KiB |
| 03_large_07.txt | WA | 299 ms | 120668 KiB |
| 03_large_08.txt | WA | 298 ms | 120724 KiB |
| 03_large_09.txt | WA | 286 ms | 120660 KiB |
| 03_large_10.txt | WA | 256 ms | 120672 KiB |
| 03_large_11.txt | WA | 301 ms | 120560 KiB |
| 03_large_12.txt | AC | 291 ms | 120652 KiB |
| 03_large_13.txt | WA | 313 ms | 120672 KiB |
| 03_large_14.txt | WA | 264 ms | 120668 KiB |
| 03_large_15.txt | AC | 297 ms | 120728 KiB |
| 03_large_16.txt | AC | 316 ms | 120720 KiB |
| 03_large_17.txt | WA | 294 ms | 120616 KiB |
| 03_large_18.txt | WA | 288 ms | 120616 KiB |