Cod sursa(job #2675269)

Utilizator AndreiD31Dragan Andrei AndreiD31 Data 21 noiembrie 2020 11:51:36
Problema Dirichlet Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <bits/stdc++.h>

#define MOD 9999991
#define ll long long

using namespace std;

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

ll putere (ll x,ll n)
{
    ll a;
    if(n==0)return 1;
    else if(n==1)return x;

    a=putere(x,n/2);
    if(n%2==0)return (a*a)%MOD;
    else return ((x*a)%MOD*a)%MOD;
}

ll combinari(ll n,ll k)
{
    ll i,r=1,t=1;

    for(i=2;i<=n;i++)
    {
        r=(r*i)%MOD;
        if(i<=k)t=(t*i)%MOD;
        if(i<=n-k)t=(t*i)%MOD;
    }

    t=(t*(k+1))%MOD;

    return (r*putere(t,MOD-2))%MOD;
}

ll n;
int main()
{
    f>>n;
    g<<combinari(2*n,n)%MOD;
    return 0;
}