CSES - Datatähti 2017 alku - Results
Submission details
Task:Bittijono
Sender:ruotsalaineno
Submission time:2016-10-04 01:55:32 +0300
Language:C++
Status:READY
Result:29
Feedback
groupverdictscore
#1ACCEPTED10
#2ACCEPTED19
#30
Test results
testverdicttimegroup
#1ACCEPTED0.05 s1details
#2ACCEPTED0.18 s2details
#30.42 s3details

Code

#include <iostream>
#include <cstdio>
#include <math.h>
using namespace std;
/*
unsigned int which(unsigned long long int n){
unsigned long int p = 1;
while(1){
if(n >= pow(2,p)){
p++;
continue;
}
p--;
break;
}
return p;
}
*/
unsigned int which(unsigned long long int n){
return floor(log2(n));
}
unsigned char solve(unsigned long long int n){
n--;
unsigned int tries = 0;
unsigned int p = which(n);
while(1){
tries++;
n = n - pow(2, p);
if ( n == 0 ){
return tries % 2;
}
p = which(n);
}
}
int main(){
unsigned long int len;
cin >> len;
unsigned long long int input[len];
for(unsigned int x = 0;x < len; x++){
cin >> input[x];
}
unsigned char solved[len];
for(unsigned int x = 0;x < len; x++){
solved[x] = solve(input[x]);
}
for(unsigned int x = 0;x < len; x++){
printf("%d\n",solved[x]);
}
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: 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
1
0
1
0
1
...