Cod sursa(job #3328892)

Utilizator EricMartinmartin petru eric EricMartin Data 10 decembrie 2025 23:13:08
Problema Sandokan Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb

#include <fstream>
using namespace std;

ifstream cin ("sandokan.in");
ofstream cout ("sandokan.out");
using namespace std;

int mod = 2000003;

int ridicare(long long n, long long a)
{
    long long rasp = 1;
    while(n > 0)
    {
        if(n % 2 == 1)
        {
            rasp = (rasp * a) % mod;
            rasp %= mod;
        }
        a *= a % mod;
        a %= mod;
        n /= 2;
    }
    return rasp % mod;
}

int main()
{
    int n,k;
    cin >>n>>k;
    n--; k--;
    k = n % k;
    for (int i = 1; i <= n; i++)
    {
        int nr;
        cin >>nr;
    }
    long long rasp = 1;
    for (int i = 1; i <= n; i++)
    {
        rasp = (rasp * i) % mod;
    }
    for (int i = 1; i <= n - k; i++)
    {
        rasp = (rasp * i) % mod;
    }
    rasp = ridicare(rasp , mod - 2);
    for (int i = 1; i <= n; i++)
    {
        rasp = (rasp * i) % mod;
    }
    cout <<"1";
    return 0;
}