Cod sursa(job #2331803)

Utilizator Bogdan_BuzatuBuzatu Bogdan Mihai Bogdan_Buzatu Data 29 ianuarie 2019 22:34:57
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 a1,a2,n,i,x,y,d;
long long  euextins(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;
        long long r = euextins(b, a%b, xa, ya);
        x = ya;
        y = xa - ya*(a/b);
        return r;
    }

}

int main() {
    fin>>n;
    a1=1;
    a2=1;
    for(i=2;i<=n+1;i++){
        a1*=i;
        a1%=mod;
    }
    for(i=n+1;i<=n*2;i++){
        a2*=i;
        a2%=mod;
    }
    euextins(a1,mod,x,y);
    a1=x;
    a1%=mod;
    if(a1<0){
        a1+=mod;
    }
    fout<<(a1*a2)%mod;



    return 0;

}