测评结果
#include<iostream>
using namespace std;
long um(long s,long e,long a[])
{long sum=0;
for(int i=s;i<e;i++)sum+=a[i]^a[i+1];
return sum;
}
int main()
{
long n,k;
cin>>n>>k;
long a[2*1000000];
for(int i=0;i<n;i++)cin>>a[i];
long sum=0;
for(int i=0;i<k;i++)
{
int l=0,r=n-1,ac=-1e9;
int mid=(l+r)/2;
while(l<r)
{
if(um(0,mid,a)>ac)
{
r=mid;
ac=um(0,mid,a);
}else if(um(mid,r,a)>ac)
{
l=mid;
ac=um(0,mid,a);
}
sum=ac;
}
}
cout<<sum;
}
二分都用上了却全TLE???