Cod sursa(job #3243416)

Utilizator Mateixx1Trandafir matei Mateixx1 Data 18 septembrie 2024 16:29:08
Problema Dirichlet Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("dirichlet.in");
ofstream g("dirichlet.out");
const int MOD=9999991;

long long powlg(long long a,long long  n) {
    long long val=1;
    while(n) {
        if(n%2==1) {
            val=val*a%MOD;
        }
        a=a*a%MOD;
        n/=2;
    }
    return val;
}

long long catalan(int n) {
    long long c=1,f=1;
    for(int i=2; i<=n; i++) {
        c=1LL*c*(n+i)%MOD;;
        f=1LL*f*i%MOD;;
    }
    return 1LL*c*powlg(f,MOD-2)%MOD;
}

int main() {
    int n;
    f>>n;
    g<<catalan(n);
    f.close();
    g.close();
    return 0;
}