Cod sursa(job #1261121)
Utilizator | Data | 11 noiembrie 2014 23:05:51 | |
---|---|---|---|
Problema | Kperm | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
//horatiu11
# include <cstdio>
# define nmax 5001
# define mod 666013
using namespace std;
long long n,k,i,f[nmax],p[nmax],s;
int main()
{
freopen("kperm.in","r",stdin);
freopen("kperm.out","w",stdout);
scanf("%lld%lld",&n,&k);
if((k*(k+1)/2)%k != 0)
{
printf("0\n");
return 0;
}
f[0]=1;
for(i=1;i<=n;++i)
{
f[i]=(f[i-1]*i)%mod;
p[i%k]++;
}
s=(f[n%k]*f[k-(n%k)])%mod;
for(i=0;i<k;i++)
s=(s*f[p[i]])%mod;
printf("%lld\n",s%mod);
return 0;
}