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 |
|
|
| 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 |