Submission #19786

#TimeUsernameProblemLanguageResultExecution timeMemory
19786jihoon괄호 (kriii4_R)C++98
0 / 100
144 ms8896 KiB
#include<cstdio> #define je 1000000007 long long fact[1000001]; long long gop(long long x,long long y){ x%=je;y%=je; x*=y;x%=je; return x; } long long hap(long long x,long long y){ x%=je;y%=je; x+=y;x%=je; return x; } long long div(long long x,long long y){ x%=je;y%=je; int left=je-2; long long gopp=y,ret=1; while(left){ if(left&1){ ret=gop(ret,gopp); } gopp=gop(gopp,gopp); left >>= 1; } ret=gop(ret,x); return ret; } long long nCr(int n,int k){ return div(div(fact[n],fact[k]),fact[n-k]); } int main(){ int n,k; long long now=1,r,c,ans=0; scanf("%d %d",&n,&k); fact[0]=1; for(int i=1;i<=n;i++){ fact[i]=gop(fact[i-1],i); } for(int i=0;i<=n;i++){ if(i>=n-i) ans=hap(ans,gop(now,nCr(i,n-i))); now=gop(now,k); } printf("%lld",ans); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...