Submission #23663

#TimeUsernameProblemLanguageResultExecution timeMemory
23663TAMREFXOR (IZhO12_xor)C++11
0 / 100
0 ms2996 KiB
#include <bits/stdc++.h> using namespace std; int N,x,a[250004]; int seg(int x){ if(!x) return 1; int X=0; for(int i=0;i<x;i++) X^=a[i]; for(int i=x;i<N;i++){ if(X>=::x) return i-x+1; X^=(a[i]^a[i-x]); } return X>=::x?N-x+1:-1; } int main(){ cin>>N>>x; for(int i=0;i<N;i++) scanf("%d",&a[i]); int lo=0,hi=N,mid,ans,ansm=0; for(int tmp;lo<=hi;){ mid=(lo+hi)>>1; tmp=seg(mid); if(tmp>0){ lo=mid+1; ans=tmp; ansm=max(ansm,mid); }else hi=mid-1; } printf("%d %d\n",ans,ansm); }

Compilation message (stderr)

xor.cpp: In function 'int main()':
xor.cpp:16:43: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(int i=0;i<N;i++) scanf("%d",&a[i]);
                                           ^
#Verdict Execution timeMemoryGrader output
Fetching results...