Advertisement
tuki2501

STAIR.cpp

Dec 14th, 2021
502
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.61 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. typedef long long ll;
  5.  
  6. const ll MOD = 1e9 + 7;
  7.  
  8. ll binpow(ll a, ll b) {
  9.   if (b == 0) return 1;
  10.   ll t = binpow(a, b / 2);
  11.   t = (t * t) % MOD;
  12.   if (b % 2) return (t * a) % MOD;
  13.   return t;
  14. }
  15.  
  16. ll fact(ll n) {
  17.   if (n == 0) return 1;
  18.   return (n * fact(n - 1)) % MOD;
  19. }
  20.  
  21. ll modinv(ll n) {
  22.   return binpow(n, MOD - 2);
  23. }
  24.  
  25. ll comb(ll n, ll k) {
  26.   return (fact(n) * modinv(fact(k)) % MOD * modinv(fact(n - k))) % MOD;
  27. }
  28.  
  29. signed main() {
  30.   cin.tie(0)->sync_with_stdio(0);
  31.   ll n, k;
  32.   cin >> n >> k;
  33.   cout << comb(n + k - 1, k - 1) << '\n';
  34. }
  35.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement