CSES - Datatähti 2017 alku - Results
Submission details
Task:Bittijono
Sender:MM
Submission time:2016-10-03 19:22:35 +0300
Language:Java
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED10
#2ACCEPTED19
#3ACCEPTED71
Test results
testverdicttimegroup
#1ACCEPTED0.16 s1details
#2ACCEPTED0.88 s2details
#3ACCEPTED1.27 s3details

Code

import java.util.Scanner;

public class Bittijono {
	private static final int[] first16 = {1, -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, -1, -1, 1};

	public static void main(String[] args) {
		Scanner reader = new Scanner(System.in);
		int loop = reader.nextInt();
		int i;
		long[] numbers = new long[loop];
		for (i=0;i<loop;i++)
			numbers[i] = reader.nextLong();
		for (i=0;i<loop;i++) {
			if (findNumber(numbers[i]) == -1)
				System.out.println(1);
			else
				System.out.println(0);
		}
		reader.close();
	}
	
	private static long findNumber(long index) {
		if (index == 0)
			return -1;
		if (index<17)
			return first16[(int) (index-1)];
		long i = 0;
		for(i=1;i*4<index;i*=4);
		int blockNumber = (int) -Math.floorDiv(-index, i);
		return findNumber(index - (blockNumber-1) * i) * first16[blockNumber-1];
	}

}

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: ACCEPTED

input
100000
374768524402011755
937067109466254318
389256426086302899
932585725667010169
...

correct output
0
1
1
1
1
...

user output
0
1
1
1
1
...