Cod sursa(job #3140810)

Utilizator alex210046Bratu Alexandru alex210046 Data 9 iulie 2023 23:49:49
Problema Dirichlet Scor 4
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;
ifstream f("dirichlet.in");
ofstream g("dirichlet.out");
const int MOD = 9999991;


int lgPow(int x, int p) {
    int v = 1;
    while(p > 0) {
        if(p & 1)
            v = 1LL *  v * x % MOD;
        x = 1LL * x * x % MOD;
        p >>= 1;
    }
    return v;
}

inline int invMod(int n) {
    return lgPow(n, MOD - 2);
}

int comb(int n, int k) {
    if(k > n - k)
        k = n - k;
    int f = 1, c = 1;
    for(int i = 1; i <= k; i++) {
        c = 1LL * c * (n - i + 1) % MOD;
        f = 1LL * f * i % MOD;
    }
    c = 1LL * c * invMod(f) % MOD;
    return c;
}

int main() {
    int n; f >> n;
    g << comb(2 * n,n)*invMod(n + 1) % MOD;
}