Cod sursa(job #2978134)

Utilizator popescuadrianpopescuadrian popescuadrian Data 13 februarie 2023 08:56:47
Problema Kperm Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>

using namespace std;
ifstream cin("kperm.in");
ofstream cout("kperm.out");
long long mod=666013;
long long fact[20005];
int main()
{
    int n,i,j,k,l,x,nr,suma=0;
    cin>>n>>k;
    suma=0;
    for(i=1;i<=k;i++)
    {
        suma=suma+i;
    }
    fact[0]=1;
    for(i=1;i<=n;i++)
    {
        fact[i]=(fact[i-1]*i)%mod;
    }
    if(suma%k==0)
    {
        long long prod=1;
        int babani=n%k;
        int plebi=k-babani;
        for(i=1;i<=babani;i++)
        {
            prod=(prod*fact[n/k+1])%mod;
        }
        for(i=1;i<=plebi;i++)
        {
            prod=(prod*fact[n/k])%mod;
        }
        prod=(prod*fact[babani])%mod;
        prod=(prod*fact[plebi])%mod;
        cout<<prod;
        return 0;
    }
    cout<<0;
    return 0;
}