Cod sursa(job #2279962)

Utilizator danin01Nastase Daniel danin01 Data 10 noiembrie 2018 10:39:29
Problema Dirichlet Scor 8
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#define M 9999991


using namespace std;

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


long long putere(long long x,long long n)

{

    if(n==0)return 1;

    if(n==1)return x;

    long long a = putere(x,n/2);

    if(n%2==0)

    {

        return ((a*a)%M);

    }

    else

    {

        return (((a*x)%M)*a)%M;

    }

}



long long comb(long long n,long long k)

{

    long long r=1,t=1;

    for(int i=2;i<=n;++i)

    {

        r = (r*i)%M;

        if(i<=k)t = (t*i)%M;

        if(i<=n-k)t=(t*i)%M;

    }

    r = (r*putere(t,M-2))%M;

    return r;

}

int n;

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