Pagini recente » Cod sursa (job #687214) | Cod sursa (job #2434074) | Cod sursa (job #12808) | Cod sursa (job #1068865) | Cod sursa (job #932600)
Cod sursa(job #932600)
#include<iostream>
#include<fstream>
using namespace std;
#define MAX 100005
ifstream f("xormax.in");
ofstream g("xormax.out");
void init(int v[MAX],int &n,int x[MAX]){
f>>n;
for(int i=0;i<n;i++){
f>>v[i];
if(i>0){
x[i]=x[i-1]^v[i];
}else{
x[0]=v[0];
}
}
}
int main(){
int n,v[MAX],x[MAX];
init(v,n,x);
int max=0,left=0,right=n;
for(int i=0;i<n;i++){
for(int j=i;j<n;j++){
int k=(x[j]^x[i])^v[i];
if(k>max){
max=k;
left=i;
right=j;
}
if(k==max&&(right-left)>(j-i)){
right=j;
left=i;
}
}
}
g<<max<<" "<<left+1<<" "<<right+1;
return 0;
}