Submission #69684796
Source Code Expand
// Problem: 'E - Count Sequences 2' // Contest: 'AtCoder - UNIQUE VISION Programming Contest 2024 Autumn (AtCoder Beginner Contest 425)' // URL: 'https://atcoder.jp/contests/abc425/tasks/abc425_e' // Memory Limit: 1024 MB // Time Limit: 2000 ms // // Powered by competitive-companion.el (https://github.com/luishgh/competitive-companion.el) #include <bits/stdc++.h> using namespace std; #define _ ios_base::sync_with_stdio(0);cin.tie(0); #define endl '\n' typedef long long ll; const int INF = 0x3f3f3f3f; const ll LINF = 0x3f3f3f3f3f3f3f3fll; const int MAX = 5e3 + 10; int choose[MAX][MAX]; int m; ll add(ll a, ll b) { ll r = a + b; if (r < 0) r += m; else if (r >= m) r -= m; return r; } ll mul(ll a, ll b) { return a * b % m; } ll fexp(ll a, ll b) { ll r = 1; while (b) { if (b&1) r = mul(r, a); a = mul(a, a); b >>= 1; } return r; } void solve() { int n; cin >> n; vector<int> c(n); ll tot = 0; for (int i = 0; i < n; i++) { cin >> c[i]; tot += c[i]; } ll ans = 1; ll pref = 0; for (int i = 0; i < n; i++) { ans = mul(ans, choose[tot - pref][c[i]]); // cerr << i << ' ' << tot - pref << ' ' << c[i] << ' ' << choose[tot-pref][c[i]] << endl; pref += c[i]; } cout << ans << endl; } int main() {_; int t; cin >> t; cin >> m; for (int i = 0; i < MAX; i++) { choose[i][0] = 1; for (int j = i + 1; j < MAX; j++) choose[i][j] = 0; } for (int i = 1; i < MAX; i++) { for (int j = 1; j < MAX; j++) { choose[i][j] = add(choose[i-1][j-1], choose[i-1][j]); } } while (t--) { solve(); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Count Sequences 2 |
User | luishgh |
Language | C++ 20 (gcc 12.2) |
Score | 450 |
Code Size | 1721 Byte |
Status | AC |
Exec Time | 82 ms |
Memory | 101676 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 450 / 450 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_00.txt, 00_sample_01.txt |
All | 00_sample_00.txt, 00_sample_01.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt, 01_test_40.txt, 01_test_41.txt, 01_test_42.txt, 01_test_43.txt, 01_test_44.txt, 01_test_45.txt, 01_test_46.txt, 01_test_47.txt, 01_test_48.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 59 ms | 101460 KiB |
00_sample_01.txt | AC | 59 ms | 101520 KiB |
01_test_00.txt | AC | 69 ms | 101404 KiB |
01_test_01.txt | AC | 75 ms | 101476 KiB |
01_test_02.txt | AC | 79 ms | 101532 KiB |
01_test_03.txt | AC | 69 ms | 101488 KiB |
01_test_04.txt | AC | 76 ms | 101584 KiB |
01_test_05.txt | AC | 80 ms | 101516 KiB |
01_test_06.txt | AC | 69 ms | 101536 KiB |
01_test_07.txt | AC | 76 ms | 101448 KiB |
01_test_08.txt | AC | 80 ms | 101388 KiB |
01_test_09.txt | AC | 69 ms | 101496 KiB |
01_test_10.txt | AC | 75 ms | 101516 KiB |
01_test_11.txt | AC | 81 ms | 101464 KiB |
01_test_12.txt | AC | 69 ms | 101468 KiB |
01_test_13.txt | AC | 75 ms | 101464 KiB |
01_test_14.txt | AC | 80 ms | 101424 KiB |
01_test_15.txt | AC | 69 ms | 101612 KiB |
01_test_16.txt | AC | 76 ms | 101588 KiB |
01_test_17.txt | AC | 80 ms | 101512 KiB |
01_test_18.txt | AC | 69 ms | 101464 KiB |
01_test_19.txt | AC | 75 ms | 101536 KiB |
01_test_20.txt | AC | 80 ms | 101508 KiB |
01_test_21.txt | AC | 69 ms | 101528 KiB |
01_test_22.txt | AC | 75 ms | 101528 KiB |
01_test_23.txt | AC | 81 ms | 101452 KiB |
01_test_24.txt | AC | 69 ms | 101676 KiB |
01_test_25.txt | AC | 76 ms | 101660 KiB |
01_test_26.txt | AC | 80 ms | 101468 KiB |
01_test_27.txt | AC | 69 ms | 101604 KiB |
01_test_28.txt | AC | 75 ms | 101524 KiB |
01_test_29.txt | AC | 81 ms | 101528 KiB |
01_test_30.txt | AC | 69 ms | 101552 KiB |
01_test_31.txt | AC | 75 ms | 101660 KiB |
01_test_32.txt | AC | 81 ms | 101452 KiB |
01_test_33.txt | AC | 69 ms | 101548 KiB |
01_test_34.txt | AC | 76 ms | 101568 KiB |
01_test_35.txt | AC | 80 ms | 101484 KiB |
01_test_36.txt | AC | 69 ms | 101484 KiB |
01_test_37.txt | AC | 76 ms | 101428 KiB |
01_test_38.txt | AC | 80 ms | 101468 KiB |
01_test_39.txt | AC | 69 ms | 101556 KiB |
01_test_40.txt | AC | 75 ms | 101476 KiB |
01_test_41.txt | AC | 80 ms | 101392 KiB |
01_test_42.txt | AC | 69 ms | 101544 KiB |
01_test_43.txt | AC | 76 ms | 101460 KiB |
01_test_44.txt | AC | 80 ms | 101460 KiB |
01_test_45.txt | AC | 69 ms | 101472 KiB |
01_test_46.txt | AC | 75 ms | 101472 KiB |
01_test_47.txt | AC | 81 ms | 101528 KiB |
01_test_48.txt | AC | 82 ms | 101528 KiB |