Nu aveti permisiuni pentru a descarca fisierul grader_test2.ok
Cod sursa(job #1261012)
| Utilizator | Data | 11 noiembrie 2014 20:56:36 | |
|---|---|---|---|
| Problema | Dirichlet | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.75 kb |
#include <cstdio>
using namespace std;
const int MOD=9999991,Nmax=1000000;
int fact[2*Nmax+5];
inline void factoriale()
{
int i;
fact[0]=1;
for(i=1;i<=2000000;++i)
fact[i]=(1LL*fact[i-1]*i)%MOD;
}
inline int pow(int x, int p)
{
int put=1;
while(p)
{
if(p&1)
{
put=(1LL*put*x)%MOD;
--p;
}
p>>=1;
x=(1LL*x*x)%MOD;
}
return put;
}
int main()
{
int N,aux;
freopen("dirichlet.in","r",stdin);
freopen("dirichlet.out","w",stdout);
factoriale();
scanf("%d", &N);
aux=(1LL*pow(fact[N],MOD-2)*pow(fact[N],MOD-2)%MOD*pow(N+1,MOD-2))%MOD;
printf("%d\n", (1LL*fact[2*N]*aux)%MOD);
return 0;
}
