Cod sursa(job #1191937)
Utilizator | Data | 28 mai 2014 19:45:31 | |
---|---|---|---|
Problema | Sandokan | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("sandokan.in");
ofstream g ("sandokan.out");
unsigned long long n, r, k, t;
unsigned long long prod(unsigned long long a, unsigned long long b)
{
unsigned long long i=1;
for(int j=a+1; j<=b; j++)
i*=j;
return i;
}
int main()
{
f >> n >> k;
r=(n-1)%(k-1);
if(r+r>n-1)
{
t=prod(r, n-1)/prod(1, n-1-r)%2000003;
}
else
{
t=prod(n-1-r, n-1)/prod(1, r)%2000003;
}
g << t;
return 0;
}