Cod sursa(job #3281337)

Utilizator MMEnisEnis Mutlu MMEnis Data 1 martie 2025 10:23:26
Problema Sandokan Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>

using namespace std;

#define MOD 2000003

long long fact[5001];

ifstream f("sandokan.in");
ofstream g("sandokan.out");

long long pow( long long a, long long b )
{
    long long x = 1;
    while ( b > 0 )
    {
        if ( b % 2 == 1 )
            x = ( x * a ) % MOD;
        a = ( a * a ) % MOD;
        b /= 2;
    }
    return x;
}

void factorial()
{
    fact[0] = 1;
    for ( int i = 1; i <= 5000; i ++ )
        fact[i] = ( fact[i - 1] * i ) % MOD;
}

int main()
{
    int n, k;
    factorial();
    /// combinari de n - 1 luate cate ( n - 1 ) % ( k - 1 )
    f >> n >> k;
    n = n - 1;
    k = k - 1;
    k = n % k;
    g << (long long) (( ( fact[n] * pow ( fact[n - k], MOD - 2 ) ) % MOD ) * pow ( fact [k], MOD - 2 ) )% MOD;
    return 0;
}