/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 14ms 3.207 MiB
#2 Accepted 20ms 3.098 MiB
#3 Accepted 1039ms 3.145 MiB
#4 Accepted 1075ms 3.141 MiB
#5 Time Exceeded ≥1595ms ≥3.02 MiB
#6 Time Exceeded ≥1595ms ≥3.113 MiB

Code

def getPrimeFactorization(n):
    fac = []
    
    for i in range(2, n + 1):
        exp = 0
        while n % i == 0:
            exp += 1
            n //= i
        if exp > 0:
            fac.append([i, exp])
        if n == 1:
            break

    return fac

def numFromFactorization(fac):
    res = 1
    for p, exp in fac:
        if exp == 0:
            break
        res *= p**exp

    return res

def game(x, k):
    fac = getPrimeFactorization(x)
    # print(x)
    # print(fac)
    royMoves = (k + 1) // 2
    hridoyMoves = k - royMoves
    # print(royMoves, hridoyMoves)
    fac[0][1] += royMoves
    for i in range(len(fac) - 1, -1, -1):
        if fac[i][1] < hridoyMoves:
            hridoyMoves -= fac[i][1]
            fac[i][1] = 0
            continue
        fac[i][1] -= hridoyMoves
        break
    return numFromFactorization(fac)

t = int(input())
for _ in range(t):
    x, k = [int(c) for c in input().split(' ')]
    print(game(x, k))

Information

Submit By
Type
Submission
Problem
P1194 D. Roy and Prime Game
Contest
Happy New Year 2026
Language
Python 3 (Python 3.12.3)
Submit At
2026-01-06 17:02:40
Judged At
2026-01-06 17:02:40
Judged By
Score
15
Total Time
≥1595ms
Peak Memory
≥3.207 MiB