제출 #23663

#제출 시각아이디문제언어결과실행 시간메모리
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);
}

컴파일 시 표준 에러 (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...