lalalalalalalaalalla

Untitled

Oct 2nd, 2021
1,217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.72 KB | None | 0 0
  1. const int N = 5010;
  2. const int mod = 1e9 + 7;
  3.  
  4. int f[N], rf[N];
  5.  
  6. int powmod(int a, int p) {
  7.     if (p == 0) return 1;
  8.     if (p == 1) return a;
  9.     int k = powmod(a, p / 2);
  10.     if (p & 1) return (k * k % mod) * a % mod;
  11.     return k * k % mod;
  12. }
  13.  
  14. int rev(int x) {
  15.     return powmod(x, mod - 2);
  16. }
  17.  
  18. int C(int n, int k) {
  19.     int ans = f[n];
  20.     ans = ans * rf[k] % mod;
  21.     ans = ans * rf[n - k] % mod;
  22.     return ans;
  23. }
  24.  
  25. signed main() {
  26.     ios_base::sync_with_stdio(0);
  27.     cin.tie(0);
  28.     cout.tie(0);
  29.     f[0] = 1;
  30.     for (int i = 1; i < N; i++) {
  31.         f[i] = f[i - 1] * i % mod;
  32.     }
  33.     rf[N - 1] = rev(f[N - 1]);
  34.     for (int i = N - 1; i > 0; i--) {
  35.         rf[i - 1] = rf[i] * i % mod;
  36.     }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment