CSES - Datatähti 2017 alku - Results
Submission details
Task:Bittijono
Sender:vuolen
Submission time:2016-10-06 21:31:12 +0300
Language:C++
Status:READY
Result:10
Feedback
groupverdictscore
#1ACCEPTED10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.06 s1details
#2--2details
#3--3details

Compiler report

input/code.cpp: In function 'int main(int, char**)':
input/code.cpp:21:19: warning: format '%u' expects argument of type 'unsigned int*', but argument 2 has type 'uint64_t* {aka long unsigned int*}' [-Wformat=]
  scanf("%I64u", &n);
                   ^
input/code.cpp:26:25: warning: format '%u' expects argument of type 'unsigned int*', but argument 2 has type 'uint64_t* {aka long unsigned int*}' [-Wformat=]
   scanf("%I64u", &arr[i]);
                         ^
input/code.cpp:21:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%I64u", &n);
                    ^
input/code.cpp:26:26: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%I64u", &arr[i]);
                          ^

Code

#include <stdio.h>
#include <stdint.h>
#include <math.h>
#include <stdlib.h>

uint8_t get_bit(uint64_t k) {
	if (k == 1)
		return 0;

	uint64_t n = 2;
	while (n < k) {
		n *= 2;
	}

	return !get_bit(k - n / 2);
}

int main(int argc, char *argv[]) {
	uint64_t n;
	uint64_t *arr;
	scanf("%I64u", &n);
	arr = (uint64_t *) calloc(n, sizeof(uint64_t));

	uint16_t i;
	for (i = 0; i < n; i++) {
		scanf("%I64u", &arr[i]);
	}

	for (i = 0; i < n; i++) {
		printf("%d\n", get_bit(arr[i]));
	}

	free(arr);

	return 0;
}

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:

input
100000
565433
141881
120108
825392
...

correct output
1
1
0
0
1
...

user output
(empty)

Test 3

Group: 3

Verdict:

input
100000
374768524402011755
937067109466254318
389256426086302899
932585725667010169
...

correct output
0
1
1
1
1
...

user output
(empty)