Submission details
Task:Lukujono
Sender:Yytsi
Submission time:2025-11-28 18:24:45 +0200
Language:Python3 (CPython3)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.15 sdetails
#2ACCEPTED0.15 sdetails
#3ACCEPTED0.04 sdetails

Code

def trav(x):
    if x == 1: return 1
    if x % 3 == 0: return x // 3
    return x * 2 + 1


def steps(x):
    if x == 1: return (1, True)
    vis = set()
    taken = 1
    fn = False

    while (x not in vis):
        vis.add(x)
        if x == 1:
            fn = True
            break

        newk = trav(x)
        x = newk
        taken += 1
        if x > 10**40:
            return (taken, False)

    return (taken, fn)


t = int(input())

for i in range(t):
    n = int(input())
    s = steps(n)
    print([-1, s[0]][s[1]])

Test details

Test 1

Verdict: ACCEPTED

input
1000
1
2
3
4
...

correct output
1
-1
2
4
-1
...

user output
1
-1
2
4
-1
...

Test 2

Verdict: ACCEPTED

input
1000
152435
165584
587562
428318
...

correct output
-1
-1
-1
-1
-1
...

user output
-1
-1
-1
-1
-1
...

Test 3

Verdict: ACCEPTED

input
1000
235119
235120
235144
236196
...

correct output
27
27
27
14
27
...

user output
27
27
27
14
27
...