Cod sursa(job #1695020)

Utilizator sucureiSucureiRobert sucurei Data 26 aprilie 2016 14:28:08
Problema Kperm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
#define mod 666013
#define infile "kperm.in"
#define outfile "kperm.out"

using namespace std;

ifstream f(infile);
ofstream g(outfile);

int n, k;

int Get_Factorial(int nr) {
    int res = 1;
    for (int i = 1; i <= nr; ++i)
        res = 1LL * res * i % mod;
    return res;
}

int Get_Power(int a, int p) {
    int res = 1;
    for (int i = 1; i <= p; ++i)
        res = 1LL * res * a % mod;
    return res;
}

int main() {
    f >> n >> k;
    if (~k & 1) {
        g << 0;
        return 0;
    }
    int SOL = Get_Factorial(n % k);
    SOL = 1LL * SOL * Get_Power(Get_Factorial(n / k + 1), n % k) % mod;
    SOL = 1LL * SOL * Get_Factorial(k - n % k) % mod;
    SOL = 1LL * SOL * Get_Power(Get_Factorial(n / k), k - n % k) % mod;
    g << SOL;
    return 0;
}