Pagini recente » Cod sursa (job #1993169) | Cod sursa (job #1717422) | Cod sursa (job #42104) | Cod sursa (job #2323788) | Cod sursa (job #932591)
Cod sursa(job #932591)
#include<iostream>
#include<fstream>
using namespace std;
#define MAX 100000
ifstream f("xormax.in");
ofstream g("xormax.out");
void citire(int v[MAX],int &n){
f>>n;
for(int i=0;i<n;i++){
f>>v[i];
}
}
int main(){
int n,v[MAX],xor[MAX];
citire(v,n);
xor[0]=v[0];
for(int i=1;i<n;i++){
xor[i]=xor[i-1]^v[i];
}
int max=0,left=0,right=n;
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++){
int k=(xor[j]^xor[i])^v[i];
if(k>max){//&&(j-i)<(right-left)){
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;
}