Cod sursa(job #3324947)

Utilizator Octavian09Dore Octaviam Octavian09 Data 24 noiembrie 2025 11:27:44
Problema Dirichlet Scor 92
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
using namespace std;

const int MOD = 9999991;

ifstream f("dirichlet.in");
ofstream g("dirichlet.out");
int inv[1000005];

long long powmod(long long a, long long b) {
    long long r=1;
    while (b) {
        if(b&1) r=r*a%MOD;
        a=a*a%MOD;
        b>>=1;
    }
    return r;
}

int main()
{
    int N;
    f >> N;
    if(N==0){
        g << 1;
        return 0;
    }
    //
    inv[1]=1;
    for(int i=2;i<=N+1;i++)
    inv[i]=(MOD-MOD/i)*inv[MOD%i]%MOD;
    //
    long long C=1;
    for(int n=0;n<N;n++) {
        long long num =2LL*(2LL*n+1)%MOD;
        long long inv=powmod(n+2,MOD-2);
        C=C*num% MOD;
        C=C*inv%MOD;
    }

    g << C;
    return 0;
}