217342026-01-13 18:40:12algoproJáték (50 pont)cpp17Hibás válasz 29/5059ms3544 KiB
// UUID: 5ff7947e-c9ed-447b-b816-b4d23f842005
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll M=1e9+7;

ll binpow(ll a, ll b) {
    if (b==0)return 1LL;
    ll c=binpow(a, b/2);
    if (b%2==1)return (((c*c)%M)*a)%M;
    else return (c*c)%M;
}

int main() {
	ll b, c;cin>>b>>c;
    vector<ll>fact(2*c+2,1),inv(2*c+2,1);
    for(int i=1;i<=2*c+1;i++){
        fact[i]=fact[i-1]*i;fact[i]%=M;
        inv[i]=binpow(fact[i],M-2);
    }
    cout<<((((fact[2*c-b-1]*inv[c-1])%M)*inv[c-b])%M-(((fact[2*c-b-1]*inv[c])%M)*inv[c-b-1])%M)%M;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base29/50
1Elfogadva0/01ms500 KiB
2Hibás válasz0/02ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva3/31ms316 KiB
5Hibás válasz0/31ms316 KiB
6Elfogadva3/31ms324 KiB
7Elfogadva3/32ms316 KiB
8Elfogadva3/32ms316 KiB
9Hibás válasz0/32ms316 KiB
10Hibás válasz0/32ms460 KiB
11Elfogadva3/34ms564 KiB
12Elfogadva3/38ms564 KiB
13Elfogadva3/313ms1044 KiB
14Hibás válasz0/354ms3164 KiB
15Elfogadva3/327ms1588 KiB
16Hibás válasz0/359ms3544 KiB
17Hibás válasz0/339ms2100 KiB
18Hibás válasz0/357ms3336 KiB
19Elfogadva3/354ms3124 KiB