Submission details
Task:Lukujono
Sender:Kuha
Submission time:2025-11-28 21:03:54 +0200
Language:C++ (C++17)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.01 sdetails
#2ACCEPTED0.01 sdetails
#3ACCEPTED0.01 sdetails

Code

#include <bits/stdc++.h>

using namespace std;

short e[10000000];

short ok(int x) {
    if (x > 6291455) {
        return -1;
    }
    if (e[x]) {
        return e[x];
    }
    e[x] = -1;
    if (x % 3 == 0) {
        int y = ok(x / 3);
        if (y != -1) e[x] = y + 1;
    } else {
        int y = ok(2 * x + 1);
        if (y != -1) e[x] = y + 1;
    }
    return e[x];
}

int main () {
    e[1] = 1;
    int t;
    cin>>t;
    while (t --> 0) {
        int n;
        cin>>n;
        cout<<ok(n)<<endl;
    }
}

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
...