Submission #23662

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

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...