Cod sursa(job #2674162)

Utilizator Senth30Denis-Florin Cringanu Senth30 Data 18 noiembrie 2020 18:21:51
Problema Kperm Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>
#define MAX 131072
#define MOD 666013

using namespace std;
const int NMAX = 5010;

int N, K;
int fact[NMAX];

int main(){

    freopen("kperm.in", "r", stdin);
    freopen("kperm.out", "w", stdout);

    scanf("%d%d", &N, &K);
    if(K % 2 == 0){
        printf("0");
        return 0;
    }
    int c = N / K;
    int r = N % K;
    fact[0] = 1;
    for(int i = 1; i <= N; i++)
        fact[i] = 1LL * fact[i - 1] * i % MOD;
    int ans = 1LL * fact[r] * fact[K - r] % MOD;
    for(int i = 1; i <= r; i++)
        ans = 1LL * ans * fact[c + 1] % MOD;
    for(int i = 1; i <= K - r; i++)
        ans = 1LL * ans * fact[c] % MOD;
    printf("%d", ans);


    return 0;
}