Submission #3716760
Source Code Expand
#include "bits/stdc++.h"
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <map>
#include <vector>
#include <math.h>
#include <algorithm>
#include <queue>
#include <set>
#include <tuple>
using namespace std;
#define FOR(i,init,a) for(int i=init; i<a; i++)
#define rep(i,a) FOR(i,0,a)
#define rrep(i,a) for(int i=a; i>=0; i--)
#define rep1(i,a) for(int i=1; i<=a; i++)
#define cout1(a) cout << a << endl;
#define cout2(a,b) cout << a << " " << b << endl;
#define cout3(a,b,c) cout << a << " " << b << " " << c << endl;
#define cout4(a,b,c,d) cout << a << " " << b << " " << c << " " << d << endl;
#define mem(a,n) memset( a, n, sizeof(a))
#define all(a) a.begin(),a.end()
#define chmin(a,b) a=min(a,b);
#define chmax(a,b) a=max(a,b);
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pii;
typedef vector<int> V;
typedef vector<V> VV;
typedef vector<VV> VVV;
const int INF = 1e9;
const int MOD = 1e9+7;
const ll LLINF = 1e18;
static const double pi = 3.141592653589793;
int nums[100009];
void win(int cnt){
cout1(cnt)
exit(0);
}
int main() {
cin.tie(0);
ios::sync_with_stdio(false);
int N,XOR=0;
cin>>N;
rep(i,N) cin>>nums[i],XOR^=nums[i];
if(XOR==0) win(0);
int cnt=0;
rrep(k,32)if(XOR&(1ll<<k)){
ll x=(1ll<<(k+1))-1;
int idx=-1;
rep(i,N){
if(x==(nums[i]^(nums[i]-1))){
idx=i;
break;
}
}
if(idx==-1) win(-1);
nums[idx]=0,XOR^=x;
cnt++;
}
win(cnt);
}
Submission Info
Submission Time |
|
Task |
C - Cheating Nim |
User |
mensan_fukuhara |
Language |
C++14 (GCC 5.4.1) |
Score |
500 |
Code Size |
1633 Byte |
Status |
AC |
Exec Time |
12 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 |
12 ms |
640 KB |
003.txt |
AC |
5 ms |
512 KB |
004.txt |
AC |
5 ms |
512 KB |
005.txt |
AC |
4 ms |
384 KB |
006.txt |
AC |
11 ms |
640 KB |
007.txt |
AC |
11 ms |
640 KB |
008.txt |
AC |
11 ms |
640 KB |
009.txt |
AC |
11 ms |
640 KB |
010.txt |
AC |
11 ms |
640 KB |
011.txt |
AC |
11 ms |
640 KB |
012.txt |
AC |
11 ms |
640 KB |
013.txt |
AC |
11 ms |
640 KB |
014.txt |
AC |
12 ms |
640 KB |
015.txt |
AC |
11 ms |
640 KB |
016.txt |
AC |
11 ms |
640 KB |
017.txt |
AC |
11 ms |
640 KB |
018.txt |
AC |
11 ms |
640 KB |
019.txt |
AC |
11 ms |
640 KB |
020.txt |
AC |
11 ms |
640 KB |
021.txt |
AC |
2 ms |
256 KB |
022.txt |
AC |
2 ms |
256 KB |
023.txt |
AC |
11 ms |
640 KB |
example0.txt |
AC |
1 ms |
256 KB |
example1.txt |
AC |
1 ms |
256 KB |