Pagini recente » Cod sursa (job #3125111) | Cod sursa (job #2364902) | Cod sursa (job #45750) | Cod sursa (job #529653) | Cod sursa (job #2098094)
#include <cstdio>
#include <iostream>
#define MOD 2000003
using namespace std;
long long putere (long long x,int p){
long long r=1;
while (p){
if (p%2)
r=(r*x)%MOD;
x=(x*x)%MOD;
p/=2;
}
return r;
}
int main()
{
FILE *fin=fopen ("sandokan.in","r");
FILE *fout=fopen ("sandokan.out","w");
int n,k,maxi,i,x;
long long sol,fact;
fscanf (fin,"%d%d",&n,&k);
maxi=0;
for (i=1;i<=k;i++){
fscanf (fin,"%d",&x);
maxi=max(maxi,x);
}
// combinari de maxi-k+1 luate cate n-k
sol=1;
for (i=maxi-n+2;i<=maxi-k+1;i++)
sol=(sol*i)%MOD;
fact=1;
for (i=1;i<=n-k;i++)
fact=(fact*i)%MOD;
sol=(sol*putere (fact, MOD-2))%MOD;
fprintf (fout,"%lld",sol);
return 0;
}