Submission #70473745
Source Code Expand
#include <bits/stdc++.h>
#include <atcoder/modint>
using namespace std;
using mint = atcoder::modint;
int main() {
int N, X, Y, K, M;
cin >> N >> X >> Y >> K >> M;
atcoder::modint::set_mod(M);
int Z = N - X - Y;
vector dp(X + 1, vector(Y + 1, vector(Z + 1, vector<mint>(K + 1))));
dp[0][0][0][0] = 1;
for (int x = 0; x <= X; x++) {
for (int y = 0; y <= Y; y++) {
for (int z = 0; z <= Z; z++) {
for (int k = 0; k <= K; k++) {
if (x + 1 <= X && k + 2 * y + z <= K) {
dp[x + 1][y][z][k + 2 * y + z] += dp[x][y][z][k];
}
if (y + 1 <= Y && k + 2 * z + x <= K) {
dp[x][y + 1][z][k + 2 * z + x] += dp[x][y][z][k];
}
if (z + 1 <= Z && k + 2 * x + y <= K) {
dp[x][y][z + 1][k + 2 * x + y] += dp[x][y][z][k];
}
}
}
}
}
vector comb(N + 1, vector<mint>(N + 1));
for (int i = 0; i <= N; i++) {
comb[i][0] = 1;
for (int j = 1; j < i; j++) comb[i][j] = comb[i - 1][j - 1] + comb[i - 1][j];
comb[i][i] = 1;
}
mint ans = 0;
for (int x = 0; x <= X; x++) {
for (int y = 0; y <= Y; y++) {
for (int z = 0; z <= Z; z++) {
for (int k = 0; k <= K; k++) {
int p = x + y + z, q = N - p;
if (K - k - p * q < 0) continue;
ans += comb[N][x + y + z] * dp[x][y][z][k] * dp[X - x][Y - y][Z - z][K - k - p * q];
}
}
}
}
cout << ans.val() << "\n";
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Sum of Three Inversions |
| User | otoshigo |
| Language | C++ 20 (gcc 12.2) |
| Score | 100 |
| Code Size | 1748 Byte |
| Status | AC |
| Exec Time | 201 ms |
| Memory | 87428 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 100 / 100 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample-01.txt, sample-02.txt, sample-03.txt |
| All | 01-random-01.txt, 01-random-02.txt, 02-random-01.txt, 02-random-02.txt, 03-random-01.txt, 04-random-01.txt, 04-random-02.txt, 05-random-01.txt, 05-random-02.txt, 05-random-03.txt, 06-random-01.txt, 06-random-02.txt, 06-random-03.txt, 07-random-01.txt, 07-random-02.txt, 07-random-03.txt, 08-random-01.txt, 08-random-02.txt, 08-random-03.txt, 08-random-04.txt, 08-random-05.txt, 09-random-01.txt, 09-random-02.txt, 09-random-03.txt, 10-random-01.txt, 10-random-02.txt, 10-random-03.txt, 11-random-01.txt, 11-random-02.txt, 11-random-03.txt, 11-random-04.txt, 12-handmade.txt, 13-handmade.txt, 14-handmade-01.txt, 14-handmade-02.txt, sample-01.txt, sample-02.txt, sample-03.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01-random-01.txt | AC | 1 ms | 3708 KiB |
| 01-random-02.txt | AC | 1 ms | 3484 KiB |
| 02-random-01.txt | AC | 46 ms | 24640 KiB |
| 02-random-02.txt | AC | 51 ms | 26144 KiB |
| 03-random-01.txt | AC | 1 ms | 3556 KiB |
| 04-random-01.txt | AC | 2 ms | 4176 KiB |
| 04-random-02.txt | AC | 63 ms | 29344 KiB |
| 05-random-01.txt | AC | 12 ms | 8776 KiB |
| 05-random-02.txt | AC | 5 ms | 6956 KiB |
| 05-random-03.txt | AC | 6 ms | 6124 KiB |
| 06-random-01.txt | AC | 1 ms | 3592 KiB |
| 06-random-02.txt | AC | 1 ms | 3480 KiB |
| 06-random-03.txt | AC | 1 ms | 3568 KiB |
| 07-random-01.txt | AC | 2 ms | 3888 KiB |
| 07-random-02.txt | AC | 1 ms | 3560 KiB |
| 07-random-03.txt | AC | 3 ms | 4728 KiB |
| 08-random-01.txt | AC | 22 ms | 14804 KiB |
| 08-random-02.txt | AC | 48 ms | 24652 KiB |
| 08-random-03.txt | AC | 2 ms | 4608 KiB |
| 08-random-04.txt | AC | 46 ms | 24256 KiB |
| 08-random-05.txt | AC | 18 ms | 12520 KiB |
| 09-random-01.txt | AC | 1 ms | 3644 KiB |
| 09-random-02.txt | AC | 1 ms | 3892 KiB |
| 09-random-03.txt | AC | 1 ms | 3768 KiB |
| 10-random-01.txt | AC | 6 ms | 6100 KiB |
| 10-random-02.txt | AC | 4 ms | 6288 KiB |
| 10-random-03.txt | AC | 4 ms | 5136 KiB |
| 11-random-01.txt | AC | 68 ms | 33444 KiB |
| 11-random-02.txt | AC | 17 ms | 10300 KiB |
| 11-random-03.txt | AC | 70 ms | 34196 KiB |
| 11-random-04.txt | AC | 62 ms | 29756 KiB |
| 12-handmade.txt | AC | 70 ms | 34416 KiB |
| 13-handmade.txt | AC | 1 ms | 3560 KiB |
| 14-handmade-01.txt | AC | 201 ms | 87428 KiB |
| 14-handmade-02.txt | AC | 72 ms | 35284 KiB |
| sample-01.txt | AC | 1 ms | 3636 KiB |
| sample-02.txt | AC | 1 ms | 3660 KiB |
| sample-03.txt | AC | 45 ms | 24244 KiB |