Cod sursa(job #1258421)

Utilizator acomAndrei Comaneci acom Data 8 noiembrie 2014 20:46:44
Problema Kperm Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include<fstream>
using namespace std;
#define MOD 666013
ifstream fin("kperm.in");
ofstream fout("kperm.out");
long long n,k,p,r,sol,F[5005];
int main()
{
    long long i;
    fin>>n>>k;
    if (k==2)
    {
        fout<<"0\n";
        return 0;
    }
    p=n/k, r=n%k;
    for (i=1,F[0]=1;i<=n;++i)
        F[i]=F[i-1]*i%MOD;
    sol=F[r]*F[k-r]%MOD*F[r]%MOD;
    if (r) sol*=F[p+1], sol%=MOD;
    else sol*=F[p], sol%=MOD;
    fout<<sol<<"\n";
    return 0;
}