216652026-01-13 17:53:48algoproJáték (50 pont)cpp17Elfogadva 50/5017ms8388 KiB
// UUID: cc55c99d-6172-4efe-b1c0-f4980f02ef41
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define MOD 1000000007

int fpow(int a, int b){
    int k = 1;
    for(int i = 0; (1<<i) <= b; i++){
        if((1<<i)&b){
            k= (k*a)%MOD;
        }
        a*= a;
        a%= MOD;
    }
    return k;
}
int t[1000000] = {1};

int n_c_k(int n, int k){
    return ((t[n]* fpow(t[k], MOD -2))%MOD * fpow(t[n-k], MOD -2))%MOD;
}

signed main() {
    int c,b;
    cin >> b >> c;
    for(int i = 1; i < 1000000; i++){
        t[i] = (t[i-1]* i)%MOD;    
    }
    c--;
    cout << (MOD+n_c_k(2*c+1-b, c)-n_c_k(2*c +1-b, c+1))%MOD;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/016ms7988 KiB
2Elfogadva0/014ms7984 KiB
3Elfogadva2/216ms7988 KiB
4Elfogadva3/317ms7988 KiB
5Elfogadva3/317ms8236 KiB
6Elfogadva3/314ms8116 KiB
7Elfogadva3/314ms8164 KiB
8Elfogadva3/316ms8008 KiB
9Elfogadva3/314ms7988 KiB
10Elfogadva3/316ms7988 KiB
11Elfogadva3/316ms7988 KiB
12Elfogadva3/316ms8004 KiB
13Elfogadva3/316ms7988 KiB
14Elfogadva3/314ms8248 KiB
15Elfogadva3/316ms8204 KiB
16Elfogadva3/316ms7988 KiB
17Elfogadva3/316ms7988 KiB
18Elfogadva3/314ms8388 KiB
19Elfogadva3/316ms8104 KiB