Cod sursa(job #657717)

Utilizator paunmatei7FMI Paun Matei paunmatei7 Data 7 ianuarie 2012 11:25:36
Problema Kperm Scor 100
Compilator cpp Status done
Runda winners8 Marime 0.67 kb
#include <stdio.h>
int main()
{
    long long v[7],sol,h;
	int n,k,i,c,r;
    freopen("kperm.in","r",stdin);
    freopen("kperm.out","w",stdout);
    scanf("%d%d",&n,&k);
    if (k%2==0)
    {
        printf("0\n");
        return 0;
    }
    c=n/k;
    r=n%k;
	h=666013;
	v[1]=v[2]=v[3]=v[4]=v[5]=1;
    for (i=2;i<=r;++i)
        v[1]=(v[1]*i)%h;
    for (i=2;i<=k-r;++i)
        v[2]=(v[2]*i)%h;
    for (i=2;i<=c;++i)
        v[3]=(v[3]*i)%h;
    for (i=1;i<=k-r;++i)
        v[4]=(v[4]*v[3])%h;
    v[3]=(v[3]*(c+1))%h;
    for (i=1;i<=r;++i)
        v[5]=(v[5]*v[3])%h;
    sol=(v[1]*v[2])%h;
    sol=(sol*v[4])%h;
    sol=(sol*v[5])%h;
    printf("%lld\n",sol);
    return 0;
}