Cod sursa(job #2535811)

Utilizator rareshinnhoMiroiu Rares rareshinnho Data 1 februarie 2020 11:37:33
Problema Dirichlet Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#define MOD 9999991

using namespace std;

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

unsigned long long rise(unsigned long long x,unsigned long long n){
    if(n==0)return 1;
    if(n==1)return x;
    unsigned long long y;
    y=rise(x,n/2);
    y=(y*y)%MOD;
    if(n%2==1)y=(y*x)%MOD;
    return y;

}
unsigned long long comb(unsigned long long n){
    unsigned long long i,t=1,s=1;
    for(i=1;i<=n;i++){
    	t=(t*i)%MOD;
    }
    for(i=n+2;i<=2*n;i++){
    	s=(s*i)%MOD;
    }
    t=rise(t,MOD-2);
    return (s*t)%MOD;
}
unsigned long long n,q;
int main()
{
    f>>n;
    q=comb(n);
    g<<q;

    return 0;
}