Cod sursa(job #1181586)

Utilizator VisanCosminVisan Tudor Cosmin VisanCosmin Data 3 mai 2014 10:31:37
Problema Kperm Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <stdio.h>

using namespace std;
long long fact[1000010],k,n,rest[1000000],i,s,max,fact2[1000000];
FILE*f=fopen("kperm.in","r");
FILE*g=fopen("kperm.out","w");


int main()
{

    fscanf(f,"%lld%lld",&n,&k);
    for(i=1;i<=n;i++)
            {
            rest[i%k]++;
            if(rest[i%k]>max) max=rest[i%k];
            }
    fact[1]=1LL;
    for(i=2;i<=1000001;i++)
        fact[i]=(i*fact[i-1])%666013;
    printf("%lld ",fact[1000000]);
   // fact2[1]=
   // for(i=2;i<=1000000;i++)
       // fact2[i]=
    if(n%k==0) s=fact[k]%666013;
    else s=2;
    for(i=0;i<k;i++)
        s=(s*fact[rest[i]])%666013;
    if(k%2)
        fprintf(g,"%lld",s);
    else fprintf(g,"0");


    fclose(f);
    fclose(g);
    return 0;
}