Submission #601648

#TimeUsernameProblemLanguageResultExecution timeMemory
601648Soumya1Kangaroo (CEOI16_kangaroo)C++17
0 / 100
1 ms256 KiB
#include <bits/stdc++.h> #ifdef __LOCAL__ #include <debug_local.h> #endif using namespace std; const int mod = 1e9 + 7; void testCase() { int n, s, f; cin >> n >> s >> f; vector<int> dp(n + 1); dp[0] = 1; auto add = [&](int a, int b) { return (a + b) % mod; }; auto mul = [&](int a, int b) { return (1LL * a * b) % mod; }; auto add_self = [&](int &a, int b) { return (a += b) %= mod; }; for (int i = 1; i <= n; i++) { vector<int> new_dp(n + 1); for (int j = 0; j <= i - 1; j++) { if (i == s || i == f) { add_self(new_dp[j], dp[j]); add_self(new_dp[j + 1], dp[j]); continue; } int c = (i > s) + (i > f); add_self(new_dp[j + 1], mul(dp[j], j + 1 - c)); add_self(new_dp[j], mul(dp[j], 2 * j - c)); if (j > 0) add_self(new_dp[j - 1], mul(dp[j], j - 1)); } dp = new_dp; } cout << dp[1] << "\n"; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); testCase(); }

Compilation message (stderr)

kangaroo.cpp: In function 'void testCase()':
kangaroo.cpp:12:8: warning: variable 'add' set but not used [-Wunused-but-set-variable]
   12 |   auto add = [&](int a, int b) { return (a + b) % mod; };
      |        ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...