Cod sursa(job #1224759)

Utilizator tudorv96Tudor Varan tudorv96 Data 31 august 2014 19:11:30
Problema Kperm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
using namespace std;

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

const int M = 5005, mod = 666013;

int f[M], n, k, sol = 1, x;

int main() {
    f[0] = f[1] = 1;
    for (int i = 2; i < M; ++i)
        f[i] = 1LL * f[i-1] * i % mod;
    fin >> n >> k;
    if ((k * (k + 1) / 2) % k) {
        fout << 0;
        return 0;
    }
    x = n / k;
    int m = (n % k) ? (n % k) : k;
    sol = 1LL * f[m] * f[k-m] % mod;
    for (int i = 1; i <= n % k; ++i)
        sol = 1LL * sol * f[x+1] % mod;
    for (int i = n % k + 1; i <= k; ++i)
        sol = 1LL * sol * f[x] % mod;
    fout << sol;
}