3345 2023. 02. 26 19:55:57 zsombor Játék (50 pont) cpp17 Elfogadva 50/50 8ms 6760 KiB
#include <iostream>
#include <vector>
using namespace std;
using ll = long long;

ll MOD = 1e9 + 7, mi;
vector <ll> fak(2e5 + 1, 1);

ll ext_eu(ll a, ll b, ll& x, ll& y) {
    if (!b) { x = 1; y = 0; return a; }
    ll X, Y, g;
    g = ext_eu(b, a % b, Y, X);
    x = X;
    y = Y - (a / b) * X;
    return g;
}

ll mod_inv(ll a) {
    ll x, y;
    ext_eu(a, MOD, x, y);
    x += MOD * MOD;
    x %= MOD;
    return x;
}

ll alatt(ll n, ll k) {
    int ret = fak[n];
    ret = (mod_inv(fak[k]) * ret) % MOD;
    ret = (mod_inv(fak[n - k]) * ret) % MOD;
    return ret;
}

int main()
{
    for (int i = 1; i <= 2e5; i++) fak[i] = (i * fak[i - 1]) % MOD;
    ll B, C;
    cin >> B >> C;
    cout << (alatt(2 * C - B - 1, C - B) - alatt(2 * C - B - 1, C - B - 1) + MOD) % MOD;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 8ms 4724 KiB
2 Elfogadva 0/0 8ms 4928 KiB
3 Elfogadva 2/2 8ms 5272 KiB
4 Elfogadva 3/3 8ms 5580 KiB
5 Elfogadva 3/3 8ms 5800 KiB
6 Elfogadva 3/3 8ms 6008 KiB
7 Elfogadva 3/3 8ms 6224 KiB
8 Elfogadva 3/3 8ms 6176 KiB
9 Elfogadva 3/3 8ms 6140 KiB
10 Elfogadva 3/3 8ms 6392 KiB
11 Elfogadva 3/3 8ms 6272 KiB
12 Elfogadva 3/3 8ms 6276 KiB
13 Elfogadva 3/3 8ms 6604 KiB
14 Elfogadva 3/3 8ms 6488 KiB
15 Elfogadva 3/3 8ms 6556 KiB
16 Elfogadva 3/3 8ms 6760 KiB
17 Elfogadva 3/3 8ms 6636 KiB
18 Elfogadva 3/3 8ms 6636 KiB
19 Elfogadva 3/3 8ms 6636 KiB