Cod sursa(job #2282983)

Utilizator liviu2000Dragomirescu Liviu liviu2000 Data 14 noiembrie 2018 20:00:55
Problema Kperm Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>
#define MOD 666013
using namespace std;

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

long long int fact[5005] ;

int main()
{
    long long int  n , k , c , r , sol ;
    fin >> n >> k ;
    fact[1] = 1 ;
    fact[0] = 1 ;
    for ( int i = 2 ; i <= n ; i++ )
        fact[i] = (1LL*fact[i-1]*i)%MOD ;
    c = n/k ;
    r = n-c*k ;
    sol = ( 1LL*fact[r]*fact[k-r] ) % MOD ;
    for ( int i = 1 ; i <= r ; i++ )
        sol = ( 1LL*sol*(fact[c+1]) ) % MOD ;
    for ( int i = 1 ; i <= k-r ; i++ )
        sol = ( 1LL*sol *(fact[c]) ) % MOD ;
    fout << sol ;
}