Cod sursa(job #1170494)

Utilizator ThomasFMI Suditu Thomas Thomas Data 13 aprilie 2014 18:30:34
Problema Kperm Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
#include <algorithm>
using namespace std;

#define NMax 5005
#define MOD 666013

ifstream f("kperm.in");
ofstream g("kperm.out");

int n,k;
int fact[NMax];

int main()
{
    f>>n>>k;

    int p=n/k,r=n%k,rr;
    if(r) p++;
    if(!r) r=k;
    rr=k-rr;

    mfact=max(p,k);
    fact[0]=1;
    for(i=1;i<=mfact;i++) fact[i]=(fact[i-1]*i)%MOD;

    int rez=fact[r];
    for(i=1;i<=r;i++) rez=(rez*fact[p])%MOD;
    rez=(rez*fact[rr])%MOD;
    for(i=1;i<=rr;i++) rez=(rez*fact[p-1])%MOD;

    g<<rez<<"\n";

    f.close();
    g.close();
    return 0;
}