3703 2023. 03. 02 11:59:44 gortomi Játék (50 pont) cpp17 Elfogadva 50/50 14ms 13004 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int MOD = 1e9 + 7;
signed main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int b, c;
    cin >> b >> c;
    const int e = 2e5 + 1;
    vector<int> inv_num(e);
    inv_num[1] = 1;
    for(int i = 2; i < e; i++)
    {
        inv_num[i] = (((MOD + i - 1) / i) * inv_num[i - (MOD % i)]) % MOD;
    }
    vector<int> inv(e);
    inv[0] = 1;
    for(int i = 1; i < e; i++) inv[i] = (inv[i - 1] * inv_num[i]) % MOD;
    vector<int> fac(e);
    fac[0] = 1;
    for(int i = 1; i < e; i++) fac[i] = (fac[i - 1] * i) % MOD;
    int all = fac[2 * c - b - 1];
    all *= inv[c - 1];
    all %= MOD;
    all *= inv[c - b];
    all %= MOD;
    int bad = fac[2 * c - b - 1];
    bad *= inv[c];
    bad %= MOD;
    bad *= inv[c - b - 1];
    bad %= MOD;
    int ans = all - bad;
    ans %= MOD;
    ans += MOD;
    ans %= MOD;
    cout << ans;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 14ms 11092 KiB
2 Elfogadva 0/0 14ms 11352 KiB
3 Elfogadva 2/2 14ms 11308 KiB
4 Elfogadva 3/3 14ms 11512 KiB
5 Elfogadva 3/3 14ms 11732 KiB
6 Elfogadva 3/3 14ms 11960 KiB
7 Elfogadva 3/3 14ms 12088 KiB
8 Elfogadva 3/3 14ms 12332 KiB
9 Elfogadva 3/3 14ms 12544 KiB
10 Elfogadva 3/3 14ms 12504 KiB
11 Elfogadva 3/3 14ms 12500 KiB
12 Elfogadva 3/3 14ms 12628 KiB
13 Elfogadva 3/3 14ms 12500 KiB
14 Elfogadva 3/3 14ms 12756 KiB
15 Elfogadva 3/3 14ms 12712 KiB
16 Elfogadva 3/3 14ms 12712 KiB
17 Elfogadva 3/3 14ms 12992 KiB
18 Elfogadva 3/3 14ms 13004 KiB
19 Elfogadva 3/3 14ms 12796 KiB