Submission #2840485


Source Code Expand

#include <cstdio>
#include <algorithm>
using namespace std;
using ll = long long int;

const int S = 1000005;
const int MOD = 998244353;
ll fact[S+10], finv[S+10];

ll mod_pow(ll X, ll N) {
    ll res = 1;
    for(; N>0; N>>=1) {
        if(N & 1) (res *= X) %= MOD;
        (X *= X) %= MOD;
    }
    return res;
}

void comb_init() {
    fact[0] = 1;
    for(int i=1; i<=S; i++) {
        fact[i] = (fact[i-1] * i) % MOD;
    }

    finv[S] = mod_pow(fact[S], MOD-2);
    for(int i=S; i>=1; i--) {
        finv[i-1] = (finv[i] * i) % MOD;
    }
}

ll comb(int n, int r) {
    if(n < 0 || r < 0 || r > n) return 0;
    return fact[n] * finv[n-r] % MOD * finv[r] % MOD;
}

int main() {
    comb_init();
    int N, M; scanf("%d%d", &N, &M);
    if(N < M) swap(N, M);

    ll ans = 0;
    for(int k=1; k<=M; k++) {
        ll pre = comb(2*k, k);
        ll suf = comb(N+M-2*k, N-k);

       (ans += pre * suf % MOD) %= MOD;
    }
    ans = ans * mod_pow(2 * comb(N+M, N) % MOD, MOD - 2) % MOD;
    (ans += N) %= MOD;
    printf("%lld\n", ans);
    return 0;
}

Submission Info

Submission Time
Task F - Yes or No
User tsutaj
Language C++14 (GCC 5.4.1)
Score 2000
Code Size 1108 Byte
Status AC
Exec Time 21 ms
Memory 15744 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:38:36: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     int N, M; scanf("%d%d", &N, &M);
                                    ^

Judge Result

Set Name Sample Partial All
Score / Max Score 0 / 0 1500 / 1500 500 / 500
Status
AC × 5
AC × 28
AC × 75
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt
Partial sample_01.txt, sample_02.txt, sample_04.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_2_01.txt, subtask_2_02.txt, subtask_2_03.txt, subtask_2_04.txt, subtask_2_05.txt, subtask_2_06.txt, subtask_2_07.txt, subtask_2_08.txt, subtask_2_09.txt, subtask_2_10.txt, subtask_2_11.txt, subtask_2_12.txt, subtask_2_13.txt, subtask_2_14.txt, subtask_2_15.txt, subtask_2_16.txt, subtask_2_17.txt, subtask_2_18.txt, subtask_2_19.txt, subtask_2_20.txt, subtask_2_21.txt, subtask_2_22.txt, subtask_2_23.txt, subtask_2_24.txt, subtask_2_25.txt, subtask_2_26.txt, subtask_2_27.txt, subtask_2_28.txt, subtask_2_29.txt, subtask_2_30.txt, subtask_2_31.txt, subtask_2_32.txt, subtask_2_33.txt, subtask_2_34.txt, subtask_2_35.txt, subtask_2_36.txt, subtask_2_37.txt, subtask_2_38.txt, subtask_2_39.txt, subtask_2_40.txt
Case Name Status Exec Time Memory
sample_01.txt AC 13 ms 15744 KB
sample_02.txt AC 13 ms 15744 KB
sample_03.txt AC 13 ms 15744 KB
sample_04.txt AC 13 ms 15744 KB
sample_05.txt AC 13 ms 15744 KB
subtask_1_01.txt AC 13 ms 15744 KB
subtask_1_02.txt AC 13 ms 15744 KB
subtask_1_03.txt AC 13 ms 15744 KB
subtask_1_04.txt AC 12 ms 15744 KB
subtask_1_05.txt AC 13 ms 15744 KB
subtask_1_06.txt AC 13 ms 15744 KB
subtask_1_07.txt AC 13 ms 15744 KB
subtask_1_08.txt AC 13 ms 15744 KB
subtask_1_09.txt AC 13 ms 15744 KB
subtask_1_10.txt AC 13 ms 15744 KB
subtask_1_11.txt AC 13 ms 15744 KB
subtask_1_12.txt AC 13 ms 15744 KB
subtask_1_13.txt AC 13 ms 15744 KB
subtask_1_14.txt AC 14 ms 15744 KB
subtask_1_15.txt AC 15 ms 15744 KB
subtask_1_16.txt AC 15 ms 15744 KB
subtask_1_17.txt AC 14 ms 15744 KB
subtask_1_18.txt AC 15 ms 15744 KB
subtask_1_19.txt AC 14 ms 15744 KB
subtask_1_20.txt AC 14 ms 15744 KB
subtask_1_21.txt AC 14 ms 15744 KB
subtask_1_22.txt AC 14 ms 15744 KB
subtask_1_23.txt AC 14 ms 15744 KB
subtask_1_24.txt AC 14 ms 15744 KB
subtask_1_25.txt AC 14 ms 15744 KB
subtask_2_01.txt AC 13 ms 15744 KB
subtask_2_02.txt AC 13 ms 15744 KB
subtask_2_03.txt AC 13 ms 15744 KB
subtask_2_04.txt AC 21 ms 15744 KB
subtask_2_05.txt AC 21 ms 15744 KB
subtask_2_06.txt AC 21 ms 15744 KB
subtask_2_07.txt AC 21 ms 15744 KB
subtask_2_08.txt AC 21 ms 15744 KB
subtask_2_09.txt AC 21 ms 15744 KB
subtask_2_10.txt AC 21 ms 15744 KB
subtask_2_11.txt AC 21 ms 15744 KB
subtask_2_12.txt AC 21 ms 15744 KB
subtask_2_13.txt AC 20 ms 15744 KB
subtask_2_14.txt AC 21 ms 15744 KB
subtask_2_15.txt AC 21 ms 15744 KB
subtask_2_16.txt AC 21 ms 15744 KB
subtask_2_17.txt AC 21 ms 15744 KB
subtask_2_18.txt AC 20 ms 15744 KB
subtask_2_19.txt AC 19 ms 15744 KB
subtask_2_20.txt AC 13 ms 15744 KB
subtask_2_21.txt AC 12 ms 15744 KB
subtask_2_22.txt AC 13 ms 15744 KB
subtask_2_23.txt AC 13 ms 15744 KB
subtask_2_24.txt AC 13 ms 15744 KB
subtask_2_25.txt AC 13 ms 15744 KB
subtask_2_26.txt AC 12 ms 15744 KB
subtask_2_27.txt AC 13 ms 15744 KB
subtask_2_28.txt AC 13 ms 15744 KB
subtask_2_29.txt AC 13 ms 15744 KB
subtask_2_30.txt AC 14 ms 15744 KB
subtask_2_31.txt AC 16 ms 15744 KB
subtask_2_32.txt AC 20 ms 15744 KB
subtask_2_33.txt AC 21 ms 15744 KB
subtask_2_34.txt AC 20 ms 15744 KB
subtask_2_35.txt AC 20 ms 15744 KB
subtask_2_36.txt AC 21 ms 15744 KB
subtask_2_37.txt AC 16 ms 15744 KB
subtask_2_38.txt AC 14 ms 15744 KB
subtask_2_39.txt AC 20 ms 15744 KB
subtask_2_40.txt AC 14 ms 15744 KB