Submission #1247838
Source Code Expand
#include <bits/stdc++.h> using namespace std; #define FOR(i,k,n) for(int i = (int)(k); i < (int)(n); i++) #define REP(i,n) FOR(i,0,n) #define ALL(a) a.begin(), a.end() #define MS(m,v) memset(m,v,sizeof(m)) typedef long long ll; typedef long double ld; typedef vector<int> vi; typedef vector<string> vs; typedef pair<int, int> pii; const int MOD = 1e9 + 7; template<class T> T &chmin(T &a, const T &b) { return a = min(a, b); } template<class T> T &chmax(T &a, const T &b) { return a = max(a, b); } template<class T> istream& operator >> (istream& is, vector<T>& v) { for (auto &i : v) is >> i; return is; } template<class T> ostream& operator<<(ostream& os, vector<T>& v) { const string delimiter = "\n"; REP(i, v.size()) { os << v[i]; if (i != v.size() - 1) os << delimiter; } return os; } /*--------------------template--------------------*/ int min_bit(int n) { REP(i, 64) { if ((n >> i) & 1) return i; } } int main() { cin.sync_with_stdio(false); cout << fixed << setprecision(10); int n; cin >> n; vi a(n); cin >> a; int x = 0; set<int> st; for (auto i : a) { st.insert(min_bit(i)); x ^= i; } int ans = 0; for (int i = 31; i >= 0; i--) { if ((x >> i) & 1) { if (st.count(i)) { ans++; x ^= (1 << i) - 1; } else { cout << -1 << endl; return 0; } } } cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Cheating Nim |
User | vjudge1 |
Language | C++14 (GCC 5.4.1) |
Score | 500 |
Code Size | 1361 Byte |
Status | AC |
Exec Time | 17 ms |
Memory | 640 KB |
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 | 256 KB |
001.txt | AC | 1 ms | 256 KB |
002.txt | AC | 13 ms | 640 KB |
003.txt | AC | 6 ms | 512 KB |
004.txt | AC | 6 ms | 512 KB |
005.txt | AC | 5 ms | 384 KB |
006.txt | AC | 15 ms | 640 KB |
007.txt | AC | 16 ms | 640 KB |
008.txt | AC | 15 ms | 640 KB |
009.txt | AC | 16 ms | 640 KB |
010.txt | AC | 15 ms | 640 KB |
011.txt | AC | 15 ms | 640 KB |
012.txt | AC | 16 ms | 640 KB |
013.txt | AC | 15 ms | 640 KB |
014.txt | AC | 17 ms | 640 KB |
015.txt | AC | 16 ms | 640 KB |
016.txt | AC | 15 ms | 640 KB |
017.txt | AC | 15 ms | 640 KB |
018.txt | AC | 15 ms | 640 KB |
019.txt | AC | 15 ms | 640 KB |
020.txt | AC | 15 ms | 640 KB |
021.txt | AC | 2 ms | 256 KB |
022.txt | AC | 3 ms | 256 KB |
023.txt | AC | 14 ms | 640 KB |
example0.txt | AC | 1 ms | 256 KB |
example1.txt | AC | 1 ms | 256 KB |