Submission #1100878

#TimeUsernameProblemLanguageResultExecution timeMemory
1100878Kirill22Binary Subsequences (info1cup17_binary)C++17
12.90 / 100
614 ms262144 KiB
#include "bits/stdc++.h" using namespace std; const int mod = (int) 1e9 + 7; const int N = (int) 5e3; int dp[N][N]; int get(int k, int a, int b) { if (a < 0 || b < 0) { return 0; } if (k == 1 && a == 0 && b == 0) { return 1; } assert(k == a + b + 1); if (dp[a][b] == -1) { dp[a][b] = 0; dp[a][b] += get(a, a - b - 1, b); dp[a][b] += get(b, a, b - a - 1); dp[a][b] %= mod; } return dp[a][b]; } void solve() { int k; cin >> k; k++; int ans = 0; for (int j = 0; j < k; j++) { ans += get(k, j, k - j - 1); ans %= mod; } cout << ans << '\n'; cout << -1 << '\n'; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); for (int i = 0; i < N; i++) { fill(dp[i], dp[i] + N, -1); } int t = 1; cin >> t; while (t--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...