Cod sursa(job #2330389)

Utilizator mircearoataMircea Roata Palade mircearoata Data 28 ianuarie 2019 12:18:04
Problema Kperm Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>

using namespace std;

ifstream in("kperm.in");
ofstream out("kperm.out");

int fact(int k)
{
    long long f = 1;
    for(int i = 2; i <= k; i++)
    {
        f *= 1LL * i;
        f %= 666013;
    }
    return f;
}

int n, k;
long long ans, f1;

int main()
{
    in >> n >> k;
    if(k % 2 == 0)
    {
        out << 0;
        return 0;
    }
    int x = n % k;
    ans = (fact(x) * fact(k-x)) % 666013;
    f1 = fact(n/k);
    for(int i = 1; i <= k; i++)
    {
        ans *= f1 * (i <= n%k ? n/k+1 : 1);
        ans %= 666013;
    }
    out << ans;
    return 0;
}