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 |