check[30], c, n, a, X, A, B, i;
main() {
while (1) {
c = getchar_unlocked();
if (48 <= c && c <= 57)
n = n * 10 + c - 48;
else
break;
}
for (i = 0; i < n; i++) {
a = 0;
while (1) {
c = getchar_unlocked();
if (48 <= c && c <= 57)
a = a * 10 + c - 48;
else
break;
}
X ^= a;
// check[__builtin_popcount(a ^ (a - 1)) - 1] = 1;
}
for (B = 29; B >= 0; B--)
if (check[B] && ((1 << B) & X))
X ^= (1 << (B + 1)) - 1, A++;
printf("%d\n", X ? -1 : A);
}
./Main.c:1:1: warning: data definition has no type or storage class
check[30], c, n, a, X, A, B, i;
^
./Main.c:1:1: warning: type defaults to ‘int’ in declaration of ‘check’ [-Wimplicit-int]
./Main.c:1:12: warning: type defaults to ‘int’ in declaration of ‘c’ [-Wimplicit-int]
check[30], c, n, a, X, A, B, i;
^
./Main.c:1:15: warning: type defaults to ‘int’ in declaration of ‘n’ [-Wimplicit-int]
check[30], c, n, a, X, A, B, i;
^
./Main.c:1:18: warning: type defaults to ‘int’ in declaration of ‘a’ [-Wimplicit-int]
check[30], c, n, a, X, A, B, i;
^
./Main.c:1:21: warning: type defaults to ‘int’ in declaration of ‘X’ [-Wimplicit-int]
check[30], c, n, a, X, A, B, i;
^
./Main.c:1:24: warning: type defaults to ‘int’ in declaration of ‘A’ [-Wimplicit-int]
check[30], c, n, a, X, A, B, i;
^
./Main.c:1:27: warning: type defaults to ‘int’ in declaration of ‘B’ [-Wimplicit-int]
check[30], c, n, a, X, A, B, i;
...