Cod sursa(job #2280061)

Utilizator AndreiD31Dragan Andrei AndreiD31 Data 10 noiembrie 2018 11:10:34
Problema Dirichlet Scor 8
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <bits/stdc++.h>
#define MOD 666013
#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;
}