Cod sursa(job #3243096)

Utilizator StefanRaresStefan Rares StefanRares Data 15 septembrie 2024 17:46:59
Problema Dirichlet Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("dirichlet.in");
ofstream g("dirichlet.out");
const int MOD=9999991;
long long putere(long long x, long long m)
{
    long long val=1;
    while(m>0)
    {
        if(m%2)
            val=1LL*val*x%MOD;
        x=1LL*x*x%MOD;
        m/=2;
    }
    return val;
}
long long catalan(int n)
{
    long long c=1,f=1;
    for(int i=2;i<=n;i++)
    {
        c=1LL*c*(n+i)%MOD;
        f=1LL*f*i%MOD;
    }
    c=1LL*c*putere(f,MOD-2)%MOD;
    return c;
}
int main()
{
    int n;
    f>>n;
    g<<catalan(n);
    return 0;
}