Submission #67788709


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define overload4(a, b, c, d, name, ...) name
#define rep1(n) for (ll i = 0; i < n; ++i)
#define rep2(i, n) for (ll i = 0; i < n; ++i)
#define rep3(i, a, b) for (ll i = a; i < b; ++i)
#define rep4(i, a, b, c) for (ll i = a; i < b; i += c)
#define rep(...) overload4(__VA_ARGS__, rep4, rep3, rep2, rep1)(__VA_ARGS__)
void solve();
int main() {
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
    cout << fixed << setprecision(20);
    ll t = 1;
    // cin >> t;
    for (int i = 1; i <= t; i++) solve();
    return 0;
}
#include <atcoder/modint>
using mint = atcoder::modint998244353;
void solve() {
    ll n;
    cin >> n;
    vector<ll> a(n);
    rep(i, n) cin >> a[i];
    constexpr ll maxA = 2e5 + 10;
    vector<vector<ll>> factors(maxA);
    for (ll i = 1; i < maxA; i++) {
        for (ll j = i; j < maxA; j += i) {
            factors[j].push_back(i);
        }
    }
    vector<mint> pow10(maxA, 1), Fd(maxA);
    rep(i, 1, maxA) pow10[i] = pow10[i - 1] * 10;
    Fd[1] = 9;
    rep(i, 2, maxA) {
        Fd[i] = pow10[i] - 1;
        mint val = 1;
        for (auto f : factors[i]) {
            if (f == i) continue;
            val *= Fd[f];
        }
        Fd[i] /= val;
    }
    vector<ll> used(maxA), used2(maxA);
    mint res = 1;
    for (auto x : a) {
        if (used[x]) {
            cout << res.val() << '\n';
            continue;
        }
        used[x] = 1;
        mint val = 1;
        for (auto f : factors[x]) {
            if (f == 1) continue;
            if (used2[f]) continue;
            used2[f] = 1;
            val *= Fd[f];
        }
        res *= val;
        cout << res.val() << '\n';
    }
}

Submission Info

Submission Time
Task C - Repunits
User littlegirl112
Language C++ 20 (gcc 12.2)
Score 900
Code Size 1777 Byte
Status AC
Exec Time 151 ms
Memory 42476 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 900 / 900
Status
AC × 3
AC × 30
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_n_small_00.txt, 01_n_small_01.txt, 01_n_small_02.txt, 01_n_small_03.txt, 01_n_small_04.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 02_random_08.txt, 02_random_09.txt, 02_random_10.txt, 02_random_11.txt, 02_random_12.txt, 02_random_13.txt, 02_random_14.txt, 03_hcn_00.txt, 03_hcn_01.txt, 03_hcn_02.txt, 03_hcn_03.txt, 03_hcn_04.txt, 04_max_00.txt, 05_min_00.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 105 ms 40744 KiB
00_sample_01.txt AC 106 ms 40664 KiB
00_sample_02.txt AC 106 ms 40808 KiB
01_n_small_00.txt AC 105 ms 40756 KiB
01_n_small_01.txt AC 105 ms 40744 KiB
01_n_small_02.txt AC 106 ms 40728 KiB
01_n_small_03.txt AC 106 ms 41068 KiB
01_n_small_04.txt AC 107 ms 40752 KiB
02_random_00.txt AC 134 ms 42104 KiB
02_random_01.txt AC 145 ms 42412 KiB
02_random_02.txt AC 134 ms 41816 KiB
02_random_03.txt AC 148 ms 42344 KiB
02_random_04.txt AC 144 ms 42404 KiB
02_random_05.txt AC 144 ms 42368 KiB
02_random_06.txt AC 140 ms 42076 KiB
02_random_07.txt AC 144 ms 42380 KiB
02_random_08.txt AC 132 ms 41848 KiB
02_random_09.txt AC 148 ms 42344 KiB
02_random_10.txt AC 134 ms 42388 KiB
02_random_11.txt AC 148 ms 42400 KiB
02_random_12.txt AC 149 ms 42476 KiB
02_random_13.txt AC 151 ms 42332 KiB
02_random_14.txt AC 151 ms 42332 KiB
03_hcn_00.txt AC 128 ms 42372 KiB
03_hcn_01.txt AC 136 ms 42340 KiB
03_hcn_02.txt AC 129 ms 42336 KiB
03_hcn_03.txt AC 128 ms 42324 KiB
03_hcn_04.txt AC 128 ms 42472 KiB
04_max_00.txt AC 124 ms 42380 KiB
05_min_00.txt AC 108 ms 40804 KiB