Cod sursa(job #2331270)

Utilizator DanutAldeaDanut Aldea DanutAldea Data 29 ianuarie 2019 13:51:32
Problema Dirichlet Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#define mod 9999991

using namespace std;

ifstream fin("dirichlet.in");
ofstream fout("dirichlet.out");

long long n,i,j,t1,t2,t3,x,y;

long long euclid(long long a, long long b, long long &x, long long &y){
    if(b==0){
        x=1;
        y=0;

        return a;
    }else{
        long long xa,ya,d;
        d=euclid(b,a%b,xa,ya);
        x=ya;
        y=xa-a/b*ya;

        return d;
    }
}

int main(){
    fin>>n;
    t1=1;
    for(i=1;i<=n;i++)
        t1=t1*i%mod;
    t2=t1; t3=t1;
    t3=t3*(n+1)%mod;

    for(i=n+1;i<=2*n;i++)
        t1=t1*i%mod;

    ///fout<<t1<<" "<<t2<<" "<<t3<<" ";
    t2=t2*t3%mod;
    euclid(t2,mod,x,y);

    x%=mod;
    if(x<0)
        x+=mod;

    fout<<t1*x%mod;

    return 0;
}