Submission #55938224


Source Code Expand

#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;
template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }
using mint = atcoder::modint998244353;

int main(){
    int MAX = 2000000;
    vector<mint> inv(MAX+1);
    inv[1] = 1;
    for(int i=2; i<=MAX; i++){
        auto [q, r] = div(998244353, i);
        inv[i] = -q*inv[r];
    }

    int n; cin>>n;
    mint c = 0, d = 0;
    for(int i=1; i<=n; i++){
        c += (n-i) * inv[i];
        d = (-i*d+n-i) * inv[2*n-i];
    }
    mint a = (c+d)/2, b = (c-d)/2;
    cout<<a.val()<<' '<<b.val()<<'\n';

    return 0;
}

Submission Info

Submission Time
Task C - Catastrophic Roulette
User GoldIngot
Language C++ 20 (gcc 12.2)
Score 500
Code Size 731 Byte
Status AC
Exec Time 24 ms
Memory 11056 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 20
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt
Case Name Status Exec Time Memory
sample_01.txt AC 14 ms 10968 KiB
sample_02.txt AC 14 ms 10876 KiB
sample_03.txt AC 14 ms 10892 KiB
test_01.txt AC 24 ms 10872 KiB
test_02.txt AC 24 ms 10880 KiB
test_03.txt AC 14 ms 10880 KiB
test_04.txt AC 14 ms 10872 KiB
test_05.txt AC 14 ms 10964 KiB
test_06.txt AC 16 ms 10808 KiB
test_07.txt AC 19 ms 10884 KiB
test_08.txt AC 15 ms 11056 KiB
test_09.txt AC 19 ms 10964 KiB
test_10.txt AC 21 ms 10912 KiB
test_11.txt AC 21 ms 10880 KiB
test_12.txt AC 22 ms 11032 KiB
test_13.txt AC 18 ms 10808 KiB
test_14.txt AC 20 ms 10964 KiB
test_15.txt AC 20 ms 10952 KiB
test_16.txt AC 21 ms 10804 KiB
test_17.txt AC 16 ms 10892 KiB