NC232861. 歇
描述
输入描述
第一行输入两个数第二行输入个整数
对于30%的数据保证对于60%的数据保证对于100%的数据保证
输出描述
输出一个整数代表最大值
示例1
输入:
4 2 7 7 3 7
输出:
3
C++ 解法, 执行用时: 155ms, 内存消耗: 2532K, 提交时间: 2022-02-14 20:39:00
#include<bits/stdc++.h> using namespace std; const int N=1e6+10; int n,m,a[N],b[N]; int main() { cin>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; int res=0,sum,cnt; for(int i=30;i>=0;i--){ res+=(1<<i); for(int j=1;j<=n;j++) b[j]=a[j]&res; sum=0,cnt=0; for(int j=1;j<=n;j++){ sum^=b[j]; if(sum==res) sum=0,cnt++; } if(sum==0&&cnt>=m&&(cnt-m)%2==0); else res-=(1<<i); } cout<<res<<endl; }