Submission details
Task:Lukujono
Sender:TapaniS
Submission time:2025-11-29 09:35:52 +0200
Language:Java
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.09 sdetails
#2ACCEPTED0.09 sdetails
#3ACCEPTED0.09 sdetails

Code

import java.util.*;
import java.io.*;

public class lukujono {


	public static void main(String[] args) throws IOException {

		// Scanner input = new Scanner(System.in);
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int t = Integer.parseInt(br.readLine());
		int[] x = new int[t];  // alkuarvot
		int[] pit = new int[t];  // lasketut pituudet

		for (int i = 0; i < t; i++) {
			x[i] = Integer.parseInt(br.readLine());
		}
		
		// input.close(); 
		int alkuluku = 2;
		
		StringBuilder sb = new StringBuilder();
		
		
		for (int i2 = 0; i2 < t; i2++) {
		
			alkuluku = x[i2];
			
			// System.out.println("Alkuluku: " + alkuluku);


		// System.out.println("Anna alkuluku!");
		// alkuluku = Integer.parseInt(br.readLine());

		int maxluku = 100;
		int lukuX = alkuluku;
		int jama = lukuX % 3;
				
			if (lukuX == 1)  {
					sb.append("1").append('\n');
					continue;
				}


		for (int i = 0; i < maxluku; i++) {
			
			if (jama == 0) {

				lukuX = lukuX / 3;

				if ((lukuX == 1) && (jama == 0)) {
					// System.out.println((i+2) + ": Loytyi " + lukuX);
					sb.append(i+2).append('\n');
					break;
				}

				jama = lukuX % 3;
				
				if (jama == 2) {
					// System.out.println(i + ": Jama 2! " + lukuX);
					sb.append("-1").append('\n');
					break;
				}
				

			}
			
			else {
				
				lukuX = 2 * lukuX + 1;
				jama = lukuX % 3;
				
				if (jama == 2) {
					// System.out.println(i + ": Jama 2! " + lukuX);
					sb.append("-1").append('\n');
					break;
				}

			}
			
			if (lukuX < 0) {
				sb.append("-1").append('\n');
				break;
			}
			// System.out.println(i + ": " + lukuX);
			
			// sb.append(i + ": ").append(lukuX).append('\n');
			
		}  // i
		
		} // i2
		
		
		// tulostus
		
		// sb.append(x[t-1]).append('\n');
		
		
		// System.out.println(dy + " " + dx);	

		System.out.print(sb.toString());
		
    }  // main
}

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