Cod sursa(job #3240624)

Utilizator GoreaRaresGorea Rares-Andrei GoreaRares Data 18 august 2024 21:16:13
Problema Sandokan Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>
#define int unsigned long long
#define mod 2000003

int fact[5001], v[5001];

int lgpow(int a, int b)
{
    int rez = 1;
    while(b > 0)
    {
        if(b & 1)
        {
            rez = rez * a % mod;
        }
        a = a * a % mod;
        b >>= 1;
    }
    return rez;
}

int combinari(int n, int k)
{
    return fact[n] * lgpow(fact[k] * fact[n - k] % mod, mod - 2) % mod;
}

using namespace std;

signed main()
{
    ifstream cin("sandokan.in");
    ofstream cout("sandokan.out");
    int n, k, i;
    cin >> n >> k;
    for(i = 1; i <= n; i++)
    {
        cin >> v[i];
    }
    fact[0] = 1;
    for(i = 1; i <= n; i++)
    {
        fact[i] = i * fact[i - 1] % mod;
    }
    cout << combinari(n - 1, (n - 1) % (k - 1));
    return 0;
}