Cod sursa(job #908363)
Utilizator | Data | 9 martie 2013 12:16:14 | |
---|---|---|---|
Problema | Kperm | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
# include <algorithm>
# include <fstream>
using namespace std;
long long n,k,fact[200000],i,lim,sol;
ifstream cin("kperm.in");
ofstream cout("kperm.out");
int main()
{
cin >> n >> k;
fact[0]=1;
for(i=1;i<=n;i++)
fact[i]=(fact[i-1]*i)%666013;
lim=n%k;
sol=0;
if(k%2)
{
sol=(fact[lim]*fact[k-lim])% 666013;
for(i=1;i<=lim;i++)
sol=(sol*fact[n/k+1])%666013;
for(i=1;i<=k-lim;i++)
sol=(sol*fact[(n/k)])%666013;
}
cout << sol;
return 0;
}