Cod sursa(job #1258394)

Utilizator acomAndrei Comaneci acom Data 8 noiembrie 2014 20:20:06
Problema Kperm Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<cstdio>
using namespace std;
#define MOD 666013
long long n,k,p,r,F[5005];
long long pow(long long N, long long K)
{
    long long sol=1;
    while (K)
    {
        if (K&1) sol*=N;
        N*=N;
        K>>=1;
    }
    return sol;
}
int main()
{
    long long i;
    freopen("kperm.in","r",stdin);
    freopen("kperm.out","w",stdout);
    scanf("%lld%lld",&n,&k);
    p=n/k, r=n%k;
    for (i=1,F[0]=1;i<=k;++i)
        F[i]=F[i-1]*i%MOD;
    printf("%lld\n",F[r]*F[k-r]%MOD*pow(p+1,r)%MOD);
    return 0;
}