Submission #76254322
Source Code Expand
from math import gcd
MOD = 998244353
for _ in range(int(input())):
N, M = map(int, input().split())
ans = 0
for k in range(19):
t = 10 ** (k + 1) - 1
if t <= N:
p = 9 * 10**k
elif 10**k <= N:
p = N - 10**k + 1
else:
p = 0
g = gcd(10 ** (k + 1) - 1, M)
# print(f"{k=} {g=} {p=}")
ans += N // (M // g) * p
ans %= MOD
print(ans)
Submission Info
| Submission Time | |
|---|---|
| Task | E - x + y ≡ x + y |
| User | shogo314 |
| Language | Python (PyPy 3.11-v7.3.20) |
| Score | 450 |
| Code Size | 462 Byte |
| Status | AC |
| Exec Time | 155 ms |
| Memory | 108876 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 450 / 450 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt |
| All | 00_sample_00.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 49 ms | 79920 KiB |
| 01_random_00.txt | AC | 141 ms | 108628 KiB |
| 01_random_01.txt | AC | 143 ms | 108640 KiB |
| 01_random_02.txt | AC | 153 ms | 108756 KiB |
| 01_random_03.txt | AC | 148 ms | 108860 KiB |
| 01_random_04.txt | AC | 155 ms | 108628 KiB |
| 01_random_05.txt | AC | 148 ms | 108876 KiB |