Submission #21295

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
212952017-04-12 14:24:42suzy순열 (kriii4_T)C++14
100 / 100
369 ms8928 KiB
#include <stdio.h>
#define MOD 1000000007
typedef long long lli;
lli fac[1000002];
lli pw(lli n, lli x) {
if(x==0) return 1;
if(x%2) return n*pw(n,x-1)%MOD;
else { lli ret=pw(n,x/2); return ret*ret%MOD; }
}
int main() {
lli n, k;
fac[0]=1;
for(lli i=1;i<=1000001;i++)
fac[i]=fac[i-1]*i%MOD;
scanf("%lld %lld",&n,&k); k++;
if(k>n) {
puts("0"); return 0;
}
lli res=0, ncl=fac[n+1]*pw(fac[n-k],MOD-2)%MOD*pw(fac[k+1],MOD-2)%MOD;
for(lli l=k;l<=n;l++) {
res+=(n-l+1)*fac[l]%MOD*fac[n-l]%MOD*ncl%MOD;
res%=MOD;
ncl=ncl*(n-l)%MOD*pw(l+2,MOD-2)%MOD;
}
printf("%lld\n",res);
return 0;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

T.cpp: In function 'int main()':
T.cpp:19:26: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld %lld",&n,&k); k++;
                          ^

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...