Cod sursa(job #362524)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 9 noiembrie 2009 22:19:06
Problema Kperm Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <cstdio>
#define X 666013
#define ll long long

int fact(int x)
{
	int i;
	for (i=x-1; i>1; i--) x=x*i%X;
	return x;
}

int put (int x, int c)
{
	int i, p=1;
	for (i=1; i<=c; i++) p=(ll)p*x%X;
	return p;
}

int main()
{
	freopen("kperm.in","r",stdin);
	freopen("kperm.out","w",stdout);
	int n, k, r, c;
	ll p;
	scanf("%d %d",&n,&k);
	r=n%k;
	c=n/k;
	p=fact(r);
	p=p*fact(k-r)%X;
	p=p*put(c+1,r)%X;
	p=p*put(c,k-r)%X;
	printf("%d",p);
}