| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1300796 | simona1230 | Asceticism (JOI18_asceticism) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
const long long mod=1e9+7;
long long pw(long long x,long long p)
{
if(p==0)return 1;
if(p==1)return x;
long long y=pw(x,p/2);
y=y*y%mod;
if(p%2==0)return y;
return y*x%mod;
}
long long f[200001];
long long comb(long long k,long long n)
{
return f[n]*pw(f[k]*f[n-k]%mod,mod-2)%mod;
}
long long n,k;
void solve()
{
f[0]=1;
for(long long i=1;i<=n+1;i++)
f[i]=f[i-1]*i%mod;
long long c=-1;
long long ans=0;
for(long long i=0;i<k;i++)
{
c*=-1;
ans+=c*comb(i,n+1)*pw(k-i,n);
ams%=mod;
//cout<<c*comb(i,n+1)*pw(k-i,n)<<endl;;
}
cout<<ans<<endl;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin>>n>>k;
solve();
return 0;
}
