Submission #470179

#TimeUsernameProblemLanguageResultExecution timeMemory
470179radalSumtree (INOI20_sumtree)C++14
10 / 100
163 ms8196 KiB
#include <bits/stdc++.h>
#define rep(i,l,r) for (int i = l; i < r; i++)
#define pb push_back
#define debug(x) cerr << #x <<  " : " << x << endl;
using namespace std;

typedef long long ll;

const ll N = 5e5+20,mod = 1e9+7;
int poww(int a,int k){
    if (!k) return 1;
    if (k == 1) return a;
    int r = poww(a,k/2);
    return 1ll*r*r%mod*poww(a,k&1)%mod;
}
ll fac[N],inv[N];
int main(){
    ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0);
    fac[0] = 1;
    inv[0] = 1;
    int n,r;
    cin >> n >> r;
    rep(i,1,n+r){
        fac[i] = fac[i-1]*i%mod;
        inv[i] = poww(fac[i],mod-2);
    }
    cout << fac[r+n-1]*inv[n-1]%mod*inv[r]%mod;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...