Cod sursa(job #3235218)

Utilizator alex210046Bratu Alexandru alex210046 Data 16 iunie 2024 12:11:05
Problema Dirichlet Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
using namespace std;
const int MOD=9999991;
ifstream f("dirichlet.in");
ofstream g("dirichlet.out");

long long int inv(long long int base) {
    long long int b = MOD-2, ans = 1;
    while (b) {
        if (b % 2 == 1)
            ans = (1LL * ans * base) % MOD;
        b /= 2;
        base = (1LL * base * base) % MOD;
    }
    return ans;
}

long long comb(int n,int k) {
    long long f1=1, f2=1;
    for(int i=1;i<=k;i++) {
        f1 = f1 * (n - k + i) % MOD;
        f2= f2 * i % MOD;
    }
    return f1 * inv(f2) % MOD;
}

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