Cod sursa(job #3207973)

Utilizator stefan_dore_Stefan Dore stefan_dore_ Data 27 februarie 2024 11:00:10
Problema Dirichlet Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f ("dirichlet.in");
ofstream g ("dirichlet.out");

const int MOD = 9999991;
int N;

int powlg (int a, int b) {
    int p = 1;
    while (b) {
        if (b & 1)
            p = 1LL * p * a % MOD;
        a = 1LL * a * a % MOD;
        b >>= 1;
    }
    return p;
}

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

int main()
{
    f >> N;
    g << 1LL * comb(2*N, N) * powlg(N+1, MOD-2) % MOD;
    return 0;
}