Submission #1001376
Source Code Expand
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <queue>
#include <vector>
#include <map>
#include <set>
using namespace std;
typedef pair<int , int> P2;
typedef pair<pair<int , int> , int> P3;
typedef pair<pair<int , int> , pair<int , int> > P4;
#define Fst first
#define Snd second
#define PB(a) push_back(a)
#define MP(a , b) make_pair((a) , (b))
#define M3P(a , b , c) make_pair(make_pair((a) , (b)) , (c))
#define M4P(a , b , c , d) make_pair(make_pair((a) , (b)) , make_pair((c) , (d)))
#define repp(i,a,b) for(int i = (int)(a) ; i < (int)(b) ; ++i)
#define repm(i,a,b) for(int i = (int)(a) ; i > (int)(b) ; --i)
#define repv(t,it,v) for(vector<t>::iterator it = v.begin() ; it != v.end() ; ++it)
int N;
bool a[40];
bool b[40];
int s;
int main(){
scanf("%d" , &N);
repp(i,0,N){
int x;
scanf("%d" , &x);
s ^= x;
int z = 0;
for(; x % 2 == 0 ; ++z) x >>= 1;
b[z] = 1;
}
for(int i = 0 ; s > 0 ; ++i){
a[i] = s % 2 == 1;
s >>= 1;
}
int ans = 0;
repm(i,33,-1){
if(a[i+1] ^ a[i]){
if(b[i]){
++ans;
} else {
ans = -1000;
}
}
}
printf("%d\n" , ans < 0 ? -1 : ans);
return 0;
}
Submission Info
Submission Time |
|
Task |
C - Cheating Nim |
User |
PIandS |
Language |
C++14 (GCC 5.4.1) |
Score |
500 |
Code Size |
1196 Byte |
Status |
AC |
Exec Time |
14 ms |
Memory |
128 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:30:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d" , &N);
^
./Main.cpp:33:19: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d" , &x);
^
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
500 / 500 |
Status |
|
|
Set Name |
Test Cases |
Sample |
example0.txt, example1.txt |
All |
000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, example0.txt, example1.txt |
Case Name |
Status |
Exec Time |
Memory |
000.txt |
AC |
1 ms |
128 KB |
001.txt |
AC |
1 ms |
128 KB |
002.txt |
AC |
14 ms |
128 KB |
003.txt |
AC |
7 ms |
128 KB |
004.txt |
AC |
6 ms |
128 KB |
005.txt |
AC |
5 ms |
128 KB |
006.txt |
AC |
14 ms |
128 KB |
007.txt |
AC |
14 ms |
128 KB |
008.txt |
AC |
14 ms |
128 KB |
009.txt |
AC |
14 ms |
128 KB |
010.txt |
AC |
14 ms |
128 KB |
011.txt |
AC |
14 ms |
128 KB |
012.txt |
AC |
14 ms |
128 KB |
013.txt |
AC |
14 ms |
128 KB |
014.txt |
AC |
14 ms |
128 KB |
015.txt |
AC |
14 ms |
128 KB |
016.txt |
AC |
14 ms |
128 KB |
017.txt |
AC |
14 ms |
128 KB |
018.txt |
AC |
14 ms |
128 KB |
019.txt |
AC |
14 ms |
128 KB |
020.txt |
AC |
14 ms |
128 KB |
021.txt |
AC |
2 ms |
128 KB |
022.txt |
AC |
3 ms |
128 KB |
023.txt |
AC |
14 ms |
128 KB |
example0.txt |
AC |
1 ms |
128 KB |
example1.txt |
AC |
1 ms |
128 KB |