240592026-02-03 18:39:11abcdJáték (50 pont)cpp17Elfogadva 50/503ms1648 KiB
#include <bits/stdc++.h>
using namespace std;
using ll=long long;

const ll M=1e9+7;

ll inv(ll n){
    ll res=1,mm=M-2;
    while(mm){
        if(mm&1)res=res*n%M;
        n=n*n%M;
        mm>>=1;
    }
    return res;
}

int main(){
    ll b,c;cin>>b>>c;
    vector<ll> fact(2*c-b);
    fact[0]=1;
    for(ll i=1;i<2*c-b;i++)fact[i]=fact[i-1]*i%M;
    cout<<((fact[2*c-b-1]*inv(fact[c-1])%M*inv(fact[c-b])%M-fact[2*c-b-1]*inv(fact[c])%M*inv(fact[c-b-1])%M)+M)%M<<'\n';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms512 KiB
2Elfogadva0/01ms508 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms508 KiB
8Elfogadva3/31ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva3/31ms508 KiB
13Elfogadva3/31ms564 KiB
14Elfogadva3/33ms1648 KiB
15Elfogadva3/32ms820 KiB
16Elfogadva3/33ms1348 KiB
17Elfogadva3/32ms1080 KiB
18Elfogadva3/32ms1084 KiB
19Elfogadva3/32ms1332 KiB