Submission #46636067


Source Code Expand

from math import sqrt

MOD = 998244353

# Returns the factorization of n as a map {prime: multiplicity}
def factorize(n):
    factors = {}
    # Count the number of times 2 divides n
    while n % 2 == 0:
        if 2 not in factors:
            factors[2] = 0
        factors[2] += 1
        n //= 2
    # n must be odd at this point, so a skip of 2 can be used
    for i in range(3, int(sqrt(n)) + 1, 2):
        # While i divides n, count i and divide n
        while n % i == 0:
            if i not in factors:
                factors[i] = 0
            factors[i] += 1
            n //= i
    # If n is a prime greater than 2
    if n > 2:
        factors[n] = 1
    return factors

# Calculate the number of divisors for A^B
def numDivisors(A, B):
    factors = factorize(A)
    divisors = 1
    for key in factors:
        divisors *= (factors[key] * B + 1)
    return divisors

def solve(A, B):
    divisors = numDivisors(A, B)
    answer = (divisors * B) // 2
    return answer % MOD

# Read from stdin
A, B = map(int, input().split())

# Print the answer
print(solve(A, B))

Submission Info

Submission Time
Task B - Product of Divisors
User scott_wu
Language Python (PyPy 3.10-v7.3.12)
Score 500
Code Size 1127 Byte
Status AC
Exec Time 58 ms
Memory 80956 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 67
Set Name Test Cases
Sample 01-sample-01.txt, 01-sample-02.txt, 01-sample-03.txt
All 01-sample-01.txt, 01-sample-02.txt, 01-sample-03.txt, 02-min-01.txt, 03-max-01.txt, 04-mult-mod-sqrt-01.txt, 04-mult-mod-sqrt-02.txt, 04-mult-mod-sqrt-03.txt, 04-mult-mod-sqrt-04.txt, 04-mult-mod-sqrt-05.txt, 04-mult-mod-sqrt-06.txt, 04-mult-mod-sqrt-07.txt, 04-mult-mod-sqrt-08.txt, 04-mult-mod-sqrt-09.txt, 04-mult-mod-sqrt-10.txt, 05-square-even-even-01.txt, 05-square-even-even-02.txt, 05-square-even-even-03.txt, 05-square-even-even-04.txt, 05-square-even-even-05.txt, 06-square-even-odd-01.txt, 06-square-even-odd-02.txt, 06-square-even-odd-03.txt, 06-square-even-odd-04.txt, 06-square-even-odd-05.txt, 07-square-odd-even-01.txt, 07-square-odd-even-02.txt, 07-square-odd-even-03.txt, 07-square-odd-even-04.txt, 07-square-odd-even-05.txt, 08-square-odd-odd-01.txt, 08-square-odd-odd-02.txt, 08-square-odd-odd-03.txt, 08-square-odd-odd-04.txt, 08-square-odd-odd-05.txt, 09-random-01.txt, 09-random-02.txt, 09-random-03.txt, 09-random-04.txt, 09-random-05.txt, 09-random-06.txt, 09-random-07.txt, 09-random-08.txt, 09-random-09.txt, 09-random-10.txt, 10-mult-mod-01.txt, 10-mult-mod-02.txt, 10-mult-mod-03.txt, 10-mult-mod-04.txt, 10-mult-mod-05.txt, 11-prime-square-01.txt, 11-prime-square-02.txt, 11-prime-square-03.txt, 11-prime-square-04.txt, 12-prime-01.txt, 12-prime-02.txt, 12-prime-03.txt, 12-prime-04.txt, 13-2pow-01.txt, 13-2pow-02.txt, 13-2pow-03.txt, 13-2pow-04.txt, 13-2pow-05.txt, 13-2pow-06.txt, 13-2pow-07.txt, 13-2pow-08.txt, 13-2pow-09.txt
Case Name Status Exec Time Memory
01-sample-01.txt AC 54 ms 76604 KiB
01-sample-02.txt AC 55 ms 76508 KiB
01-sample-03.txt AC 57 ms 80700 KiB
02-min-01.txt AC 55 ms 76764 KiB
03-max-01.txt AC 56 ms 80708 KiB
04-mult-mod-sqrt-01.txt AC 57 ms 80580 KiB
04-mult-mod-sqrt-02.txt AC 57 ms 80836 KiB
04-mult-mod-sqrt-03.txt AC 56 ms 80728 KiB
04-mult-mod-sqrt-04.txt AC 57 ms 80760 KiB
04-mult-mod-sqrt-05.txt AC 57 ms 80760 KiB
04-mult-mod-sqrt-06.txt AC 57 ms 80772 KiB
04-mult-mod-sqrt-07.txt AC 57 ms 80696 KiB
04-mult-mod-sqrt-08.txt AC 55 ms 76660 KiB
04-mult-mod-sqrt-09.txt AC 57 ms 80836 KiB
04-mult-mod-sqrt-10.txt AC 55 ms 76508 KiB
05-square-even-even-01.txt AC 56 ms 80704 KiB
05-square-even-even-02.txt AC 56 ms 80508 KiB
05-square-even-even-03.txt AC 57 ms 80652 KiB
05-square-even-even-04.txt AC 56 ms 80512 KiB
05-square-even-even-05.txt AC 56 ms 80648 KiB
06-square-even-odd-01.txt AC 57 ms 80800 KiB
06-square-even-odd-02.txt AC 56 ms 80736 KiB
06-square-even-odd-03.txt AC 55 ms 80736 KiB
06-square-even-odd-04.txt AC 55 ms 76352 KiB
06-square-even-odd-05.txt AC 55 ms 80808 KiB
07-square-odd-even-01.txt AC 56 ms 80824 KiB
07-square-odd-even-02.txt AC 57 ms 80692 KiB
07-square-odd-even-03.txt AC 57 ms 80760 KiB
07-square-odd-even-04.txt AC 56 ms 80720 KiB
07-square-odd-even-05.txt AC 54 ms 76336 KiB
08-square-odd-odd-01.txt AC 57 ms 80656 KiB
08-square-odd-odd-02.txt AC 57 ms 80840 KiB
08-square-odd-odd-03.txt AC 56 ms 80560 KiB
08-square-odd-odd-04.txt AC 56 ms 80784 KiB
08-square-odd-odd-05.txt AC 57 ms 80784 KiB
09-random-01.txt AC 56 ms 80704 KiB
09-random-02.txt AC 57 ms 80708 KiB
09-random-03.txt AC 57 ms 80844 KiB
09-random-04.txt AC 57 ms 80792 KiB
09-random-05.txt AC 57 ms 80784 KiB
09-random-06.txt AC 57 ms 80656 KiB
09-random-07.txt AC 57 ms 80760 KiB
09-random-08.txt AC 57 ms 80512 KiB
09-random-09.txt AC 57 ms 80496 KiB
09-random-10.txt AC 57 ms 80956 KiB
10-mult-mod-01.txt AC 57 ms 80648 KiB
10-mult-mod-02.txt AC 57 ms 80848 KiB
10-mult-mod-03.txt AC 58 ms 80420 KiB
10-mult-mod-04.txt AC 57 ms 80732 KiB
10-mult-mod-05.txt AC 57 ms 80560 KiB
11-prime-square-01.txt AC 58 ms 80452 KiB
11-prime-square-02.txt AC 58 ms 80828 KiB
11-prime-square-03.txt AC 58 ms 80516 KiB
11-prime-square-04.txt AC 58 ms 80652 KiB
12-prime-01.txt AC 58 ms 80552 KiB
12-prime-02.txt AC 58 ms 80536 KiB
12-prime-03.txt AC 58 ms 80772 KiB
12-prime-04.txt AC 58 ms 80952 KiB
13-2pow-01.txt AC 55 ms 76764 KiB
13-2pow-02.txt AC 56 ms 76628 KiB
13-2pow-03.txt AC 55 ms 76864 KiB
13-2pow-04.txt AC 56 ms 76380 KiB
13-2pow-05.txt AC 56 ms 76876 KiB
13-2pow-06.txt AC 55 ms 76704 KiB
13-2pow-07.txt AC 55 ms 76508 KiB
13-2pow-08.txt AC 56 ms 76564 KiB
13-2pow-09.txt AC 56 ms 76352 KiB