Cod sursa(job #3280415)

Utilizator tudorhTudor Horobeanu tudorh Data 26 februarie 2025 14:00:39
Problema Sandokan Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("sandokan.in");
ofstream fout("sandokan.out");
int mod=2e6+3;
int fact(int n)
{
    int r=1;
    for(int i=2;i<=n;i++)
        r=(1ll*r*i)%mod;
    return r;
}
int power(long long base,int power)
{
    long long r=1;
    while(power)
    {
        if(power%2)
        {
            r*=base;
            r%=mod;
        }
        base*=base;
        base%=mod;
        power/=2;
    }
    return r;
}
int invfact(int n)
{
    return power(fact(n),mod-2);
}
int C(int n,int k)
{
    return fact(n)*invfact(n-k)%mod*invfact(k)%mod;
}
int main()
{
    int n,k,st=0,dr,mid,r,ramase;
    fin>>n>>k;
    ramase=n%(k-1);
    if(!ramase)
        ramase=k-1;
    fout<<C(n-1,ramase-1);
    return 0;
}