Cod sursa(job #1204334)

Utilizator tudi98Cozma Tudor tudi98 Data 2 iulie 2014 17:50:45
Problema Sandokan Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
using namespace std;
#define mod 2000003

int F[5005],k,n,sol;

inline void fact_init(){
	F[0]=1;
	for(int i=1;i<=n;i++)
		F[i]=1LL*i*F[i-1]%mod;
}

int lgput(int n,int p){
	if(p==0) return 1;
	if(p%2==0) return 1LL*lgput(1LL*n*n%mod,p>>1)%mod;
	return 1LL*n*lgput(1LL*n*n%mod,p>>1)%mod;
} 

int main(){

	ifstream f("sandokan.in");
	ofstream g("sandokan.out");
	
	f >> n >> k;
	k--,n--;
	k=n%k;
	fact_init();
	sol=F[n];
	sol=1LL*sol*lgput(F[k],mod-2)%mod;
	sol=1LL*sol*lgput(F[n-k],mod-2)%mod;
	g << sol <<"\n";
}