a53

Trepte2.2_OF

a53
Nov 30th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.61 KB | None | 0 0
  1. /// Solutie - Moca Andrei - 100p
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4. const int mod = 9001;
  5. int n, k, j, res;
  6. int main()
  7. {
  8. ios::sync_with_stdio(false);
  9. cin.tie(0), cout.tie(0);
  10. cin >> n >> k;
  11. vector<short> dp(n + 1);
  12. dp[1] = 1;
  13. for (int i = 2; i < n; i++)
  14. {
  15. j = min(k, i - 1);
  16. dp[i] = (2 * dp[i - 1] - dp[i - j - 1]) % mod;
  17. while (dp[i] > mod)
  18. dp[i] -= mod;
  19. if (dp[i] < 0)
  20. dp[i] += mod;
  21. }
  22. j = min(k, n - 1);
  23. res = dp[n - 1] - dp[n - j - 1];
  24. if (res < 0)
  25. res += mod;
  26. cout << res;
  27. return 0;
  28. }
Add Comment
Please, Sign In to add comment