Pagini recente » Cod sursa (job #1617641) | Cod sursa (job #3315090) | Cod sursa (job #3358027) | Cod sursa (job #3307302) | Cod sursa (job #3315096)
#include <fstream>
#define MOD 2000003
#define int long long
using namespace std;
ifstream fin("sandokan.in");
ofstream fout("sandokan.out");
int n,k,x;
long long p[5005],maxi;
int putere(long long a, long long b)
{
long long rez=1;
while(b)
{
if(b%2)
rez=rez*a%MOD;
b/=2;
a=a*a%MOD;
}
return rez;
}
int invmod(long long a)
{
return putere(a,MOD-2)%MOD;
}
void precalc()
{
p[0]=p[1]=1;
for(int i=2;i<=n;i++)
p[i]=p[i-1]*i%MOD;
}
int C(int n,int k)
{
//fout<<invmod(p[k]*p[n-k])<<endl;
return (p[n]*invmod(p[k])%MOD*invmod(p[n-k])%MOD);
}
signed main()
{
fin>>n>>k;
for(int i=1;i<=n;i++)
{
int s;
fin>>s;
if(s>maxi)
maxi=s;
}
precalc();
long long rez;
x=(n-1)%(k-1)+1;
//fout<<x<<" "<<n<<endl;
rez=C(n-1,x-1)%MOD;
fout<<rez;
return 0;
}