Advertisement
a53

Trepte2.2

a53
Nov 30th, 2019
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.44 KB | None | 0 0
  1. #include <iostream>
  2. #define M 9001
  3. using namespace std;
  4. short dp[1000001];
  5.  
  6. int main()
  7. {
  8. int n,k,MIN;
  9. cin>> n>>k;
  10. dp[1]=1;
  11. for(int i=2;i<n;++i)
  12. {
  13. MIN=min(k,i-1);
  14. dp[i]=(2*dp[i-1]-dp[i-MIN-1])%M;
  15. while(dp[i]>M)
  16. dp[i]-=M;
  17. if(dp[i]<0)
  18. dp[i]+=M;
  19. }
  20. MIN=min(k,n-1);
  21. dp[n]=dp[n-1]-dp[n-MIN-1];
  22. if(dp[n]<0)
  23. dp[n]+=M;
  24. cout<<dp[n];
  25. return 0;
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement