CSES - Datatähti 2017 alku - Results
Submission details
Task:Bittijono
Sender:JesseNiininen
Submission time:2016-10-05 01:49:24 +0300
Language:Java
Status:READY
Result:29
Feedback
groupverdictscore
#1ACCEPTED10
#2ACCEPTED19
#30
Test results
testverdicttimegroup
#1ACCEPTED0.15 s1details
#2ACCEPTED1.13 s2details
#30.14 s3details

Code

import java.util.Scanner;

public class Bittijono {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int n = Integer.parseInt(scanner.nextLine());

        while (n-- > 0) {
            int k = Integer.parseInt(scanner.nextLine());

            int power = (int) Math.floor(Math.log(k) / Math.log(2));
            int maxIndex = pow(2, power);
            int index = k - pow(2, power);

            boolean guess = true;

            while (k > 1) {
                if (k > maxIndex / 2) {
                    guess = !guess;
                    k -= maxIndex / 2;
                }

                maxIndex /= 2;
            }

            if (guess) {
                System.out.println(0);
            } else {
                System.out.println(1);
            }
        }

    }

    private static int pow(int a, int b) {
        if (b == 0) {
            return 1;
        }
        int result = a;
        while (b-- > 0) {
            result *= a;
        }
        return result;
    }

}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
100
62
9
12
73
...

correct output
1
1
1
0
1
...

user output
1
1
1
0
1
...

Test 2

Group: 2

Verdict: ACCEPTED

input
100000
565433
141881
120108
825392
...

correct output
1
1
0
0
1
...

user output
1
1
0
0
1
...

Test 3

Group: 3

Verdict:

input
100000
374768524402011755
937067109466254318
389256426086302899
932585725667010169
...

correct output
0
1
1
1
1
...

user output
(empty)

Error:
Exception in thread "main" java.lang.NumberFormatException: For input string: "374768524402011755"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:583)
	at java.lang.Integer.parseInt(Integer.java:615)
	at Bittijono.main(Bittijono.java:12)