Cod sursa(job #3319907)

Utilizator Octavian09Dore Octaviam Octavian09 Data 3 noiembrie 2025 18:59:59
Problema Dirichlet Scor 92
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>

using namespace std;
const int MOD=9999991;

ifstream f("dirichlet.in");
ofstream g("dirichlet.out");
long long C=1;
int N;

void EuclidExtins(int a,int b,int &d,int &x,int &y){
    if(b==0){
        x=1,y=0,d=a;
    }else{
        int x0,y0;
        EuclidExtins(b,a%b,d,x0,y0);
        x=y0;
        y=x0-(a/b)*y0;
    }
}

int InversModular(int a,int b){
    int d,x,y;
    EuclidExtins(a,b,d,x,y);
    while(x<0) x+=b;
    return x;
}

int main()
{
    f >> N;
    for(int i=1;i<=N;i++){
        C=(C*(2*N-i+1))%MOD;
        C=(C*InversModular(i,MOD))%MOD;
    }
    C=(C*InversModular(N+1,MOD))%MOD;
    g << C;
    return 0;
}