20分,求调
查看原帖
20分,求调
1623862
feng_to_ot楼主2025/8/5 14:21
#include<bits/stdc++.h>
using namespace std;
const unsigned int MAXN=5e5+10;
int main(){
    int n,m;
    cin>>n>>m;
    unsigned long long a[MAXN];
    for(int i=0;i<n;i++) 
	    cin>>a[i];
    unsigned long long ans=(1LL<<61)-1;
    for (int i=60;i>=0;i--){
        long long t=ans&~(1LL<<i);
        int cnt=0;
        long long cur=0;
        for(int j=0;j<n;j++){
            cur^=a[j];
            if((cur&t)==cur){
                cnt++;
                cur=0;
                if(cnt>=m) 
				   break;
            }
        }
        if(cnt>=m&&cur==0) 
		    ans=t;
    }
    cout<<ans;
    return 0;
}
2025/8/5 14:21
加载中...