Submission #26960942
Source Code Expand
#ifndef BZ #pragma GCC optimize "-O3" #endif #include <bits/stdc++.h> #define ALL(v) (v).begin(), (v).end() #define rep(i, l, r) for (int i = (l); i < (r); ++i) using ll = long long; using ld = long double; using ull = unsigned long long; using namespace std; ll MOD; /* ll pw(ll a, ll b) { ll ans = 1; while (b) { while (!(b & 1)) b >>= 1, a = (a * a) % MOD; ans = (ans * a) % MOD, --b; } return ans; } */ const int N = 5100; int n, m; ll dp[N][N][2]; void add(ll& a, ll b) { a = (a + b) % MOD; } int main() { ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0); cout.setf(ios::fixed), cout.precision(20); cin >> n >> m >> MOD; dp[0][0][0] = 1; dp[0][0][1] = 1; for (int i = 0; i < n; ++i) { for (int j = 0; j <= i; ++j) { if (i + 2 <= n) { add(dp[i + 2][j + 1][0], dp[i][j][0]); // 00 add(dp[i + 2][j + 1][1], dp[i][j][0]); // 00 add(dp[i + 2][j][1], dp[i][j][1]); // 00 add(dp[i + 2][j + 1][0], dp[i][j][0]); // 01 add(dp[i + 2][j + 1][1], dp[i][j][1]); // 01 } else { add(dp[i + 1][j][0], dp[i][j][0]); // 0$ add(dp[i + 1][j][1], dp[i][j][1]); // 0$ } add(dp[i + 1][j + 1][0], dp[i][j][0]); // 1 add(dp[i + 1][j + 1][1], dp[i][j][1]); // 1 } } ll ans = 0; for (int k = 3; k <= m; ++k) { add(ans, dp[n][k][1]); } add(ans, 1); // 2 2 2 2 if (m == n - 1 && m > 2) { add(ans, 1); } cout << ans << "\n"; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Weird LIS |
User | LHiC |
Language | C++ (GCC 9.2.1) |
Score | 900 |
Code Size | 1486 Byte |
Status | AC |
Exec Time | 861 ms |
Memory | 218864 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 900 / 900 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, 54.txt, 55.txt, 56.txt, 57.txt, 58.txt, 59.txt, 60.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 6 ms | 3508 KiB |
02.txt | AC | 6 ms | 3560 KiB |
03.txt | AC | 3 ms | 3668 KiB |
04.txt | AC | 3 ms | 3568 KiB |
05.txt | AC | 4 ms | 3892 KiB |
06.txt | AC | 7 ms | 3668 KiB |
07.txt | AC | 2 ms | 3520 KiB |
08.txt | AC | 5 ms | 3624 KiB |
09.txt | AC | 2 ms | 3656 KiB |
10.txt | AC | 6 ms | 3588 KiB |
11.txt | AC | 2 ms | 3592 KiB |
12.txt | AC | 3 ms | 3592 KiB |
13.txt | AC | 3 ms | 3688 KiB |
14.txt | AC | 3 ms | 3604 KiB |
15.txt | AC | 3 ms | 3648 KiB |
16.txt | AC | 2 ms | 3560 KiB |
17.txt | AC | 4 ms | 4092 KiB |
18.txt | AC | 4 ms | 4132 KiB |
19.txt | AC | 6 ms | 3972 KiB |
20.txt | AC | 5 ms | 4028 KiB |
21.txt | AC | 5 ms | 4048 KiB |
22.txt | AC | 4 ms | 4092 KiB |
23.txt | AC | 93 ms | 26860 KiB |
24.txt | AC | 92 ms | 26948 KiB |
25.txt | AC | 93 ms | 26812 KiB |
26.txt | AC | 93 ms | 26880 KiB |
27.txt | AC | 92 ms | 26924 KiB |
28.txt | AC | 93 ms | 27028 KiB |
29.txt | AC | 94 ms | 27028 KiB |
30.txt | AC | 92 ms | 27124 KiB |
31.txt | AC | 94 ms | 27112 KiB |
32.txt | AC | 94 ms | 27044 KiB |
33.txt | AC | 91 ms | 27164 KiB |
34.txt | AC | 93 ms | 27052 KiB |
35.txt | AC | 97 ms | 27248 KiB |
36.txt | AC | 554 ms | 144344 KiB |
37.txt | AC | 557 ms | 144368 KiB |
38.txt | AC | 560 ms | 144344 KiB |
39.txt | AC | 555 ms | 144544 KiB |
40.txt | AC | 559 ms | 144604 KiB |
41.txt | AC | 559 ms | 144596 KiB |
42.txt | AC | 855 ms | 218340 KiB |
43.txt | AC | 858 ms | 218412 KiB |
44.txt | AC | 859 ms | 218556 KiB |
45.txt | AC | 856 ms | 218656 KiB |
46.txt | AC | 859 ms | 218648 KiB |
47.txt | AC | 858 ms | 218780 KiB |
48.txt | AC | 857 ms | 218416 KiB |
49.txt | AC | 857 ms | 218380 KiB |
50.txt | AC | 861 ms | 218484 KiB |
51.txt | AC | 858 ms | 218592 KiB |
52.txt | AC | 860 ms | 218644 KiB |
53.txt | AC | 855 ms | 218796 KiB |
54.txt | AC | 857 ms | 218288 KiB |
55.txt | AC | 854 ms | 218500 KiB |
56.txt | AC | 859 ms | 218620 KiB |
57.txt | AC | 856 ms | 218636 KiB |
58.txt | AC | 859 ms | 218696 KiB |
59.txt | AC | 860 ms | 218864 KiB |
60.txt | AC | 87 ms | 26764 KiB |