Submission details
Task:Lukujono
Sender:Toitsu
Submission time:2025-10-28 20:05:09 +0200
Language:text
Status:READY
Result:21
Feedback
groupverdictscore
#1ACCEPTED21
Test results
testverdicttimescore
#1ACCEPTED0.00 s21details

Code

# 1041738 commands with 1000 as starting number

# Used to detect when to stop loop
INCREASE L

# Create a big number (180) to loop many times (number 871 takes the most steps: 178)
INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q
INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q
INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q
INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q
INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q
INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q
INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q
INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q
INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q

# Print the initial value
PRINT X

# Stop if X is 1 initially
REPEAT X TIMES (
    CLEAR L
    REPEAT D TIMES (
        INCREASE L
        CLEAR D
    )
    INCREASE D
)

# Start the main loop
REPEAT Q TIMES (
    REPEAT L TIMES (
        # Clear variables before re-use
        CLEAR A CLEAR B CLEAR C CLEAR Y

        # This needs to be 1 for the odd-even loop to work
        INCREASE B

        # Make a copy of X and store it in Y
        # TODO: optimize because it copies the value so many times each step
        REPEAT X TIMES (
            INCREASE Y
        )

        # Check if X is odd or even, and save the halved value of X in X
        CLEAR X
        REPEAT Y TIMES (
            REPEAT A TIMES (
                INCREASE X
                INCREASE C
                CLEAR A
            )
            REPEAT B TIMES (
                INCREASE A
                CLEAR B
            )
            REPEAT C TIMES (
                INCREASE B
                CLEAR C
            )
        )

        # This only runs if X was even because in that case A is 1 instead of 0
        REPEAT A TIMES (
            # Revert X back to original value before it was halved
            REPEAT X TIMES (
                INCREASE X
            )
            INCREASE X

            # Multiply X by 3 and add 1
            REPEAT Y TIMES (
                INCREASE X
            )
            REPEAT Y TIMES (
                INCREASE X
            )
            INCREASE X
        )

        # Print the resulting value
        PRINT X

        # Stop if X is 1
        REPEAT B TIMES (
            REPEAT X TIMES (
                CLEAR L
                REPEAT C TIMES (
                    INCREASE L
                    CLEAR C
                )
                INCREASE C
            )
        )
    )
)

Test details

Test 1 (public)

Verdict: ACCEPTED

input
(empty)

correct output
(empty)

user output
# 1041738 commands with 1000 a...

Feedback: 217 tests processed (command limit exceeded)