Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <vector>
- #define ULL unsigned long long
- #define UINT unsigned int
- int main(void) {
- UINT n, k;
- scanf("%u", &n);
- scanf("%u", &k);
- std::vector<unsigned long long> dp(n + 1, 1ULL);
- dp[0] = 1ULL;
- dp[1] = 1ULL;
- for (UINT i = 2; i <= k; i++) {
- for (UINT i = 2; i <= k; i++) {
- dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3];
- }
- }
- for (UINT i = 3; i <= n; i++) {
- dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3];
- }
- printf("%llu\n", dp[n]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement