216552026-01-13 17:46:34CzDaniJáték (50 pont)cpp17Elfogadva 50/506ms2836 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

const int MOD = 1000000007;

vector<int> fact(300001);

int hat(int a, int b) {
    int c = 1;
    while (b>0) {
        if (b%2) {
            c=(c*a)%MOD;
        }
        a=(a*a)%MOD;
        b/=2;
    }
    return c;
}

int binom(int n, int k) {
    return (fact[n]*hat((fact[n-k]*fact[k])%MOD, MOD-2))%MOD;
}

signed main() {
    fact[0]=1;
    for (int i = 1; i <= 300000; i++) {
        fact[i]=(i*fact[i-1])%MOD;
    }
    int b, c;
    cin >> b >> c;
    cout << (binom(c-1+c-b,c-1)-binom(c-1+c-b,c)+MOD)%MOD;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/04ms2612 KiB
2Elfogadva0/04ms2612 KiB
3Elfogadva2/24ms2796 KiB
4Elfogadva3/34ms2688 KiB
5Elfogadva3/36ms2836 KiB
6Elfogadva3/34ms2612 KiB
7Elfogadva3/34ms2692 KiB
8Elfogadva3/34ms2688 KiB
9Elfogadva3/34ms2676 KiB
10Elfogadva3/34ms2612 KiB
11Elfogadva3/34ms2612 KiB
12Elfogadva3/34ms2612 KiB
13Elfogadva3/34ms2692 KiB
14Elfogadva3/34ms2756 KiB
15Elfogadva3/34ms2612 KiB
16Elfogadva3/34ms2612 KiB
17Elfogadva3/34ms2628 KiB
18Elfogadva3/34ms2656 KiB
19Elfogadva3/34ms2612 KiB