Cod sursa(job #3285327)

Utilizator bogdan1479Luca Bogdan Alexandru bogdan1479 Data 12 martie 2025 18:40:19
Problema Sandokan Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>

using namespace std;

const int MOD = 2e6 + 3;

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

int exp(int a, int b)
{
    int val = 1;
    while(b)
    {
        if(b & 1) val = (long long)val * a % MOD;
        a = (long long)a * a % MOD;
        b >>= 1;
    }
    return val;
}

int comb(int n, int k)
{
    int a = 1, b = 1;
    for(int i = 1; i <= k; ++i)
    {
        a = (long long)a * (n - i + 1) % MOD;
        b = (long long)b * i % MOD;
    }
    return (long long)a * exp(b, MOD - 2) % MOD;
}

int n, k;

int main()
{
    fin >> n >> k;
    fout << comb(n - 1, (n - 1) % (k - 1));
    return 0;
}