Cod sursa(job #1292664)

Utilizator cojocarugabiReality cojocarugabi Data 14 decembrie 2014 16:41:53
Problema Sandokan Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
# include <bits/stdc++.h>
using namespace std;
ifstream fi("sandokan.in");
ofstream fo("sandokan.out");
long long pow(long long x,int y)
{
    long long ans=1,aux=x;
    while (y)
    {
        if (y&1) ans=(ans*aux)%2000003;
        aux=(aux*aux)%2000003;
        y/=2;
    }
    return ans;
}
int main(void)
{
    int n,k;
    fi>>n>>k;
    --n;--k;
    k = n % k;
    long long ans=1;
    for (int i=2;i<=k;++i) ans = (ans * i) % 2000003;
    for (int i=2;i<=n-k;++i) ans = (ans * i) % 2000003;
    ans=pow(ans,2000001);
    for (int i=2;i<=n;++i) ans = (ans * i) % 2000003;
    return fo << ans << '\n',0;
}