Cod sursa(job #1312664)
| Utilizator | Data | 9 ianuarie 2015 20:28:45 | |
|---|---|---|---|
| Problema | Xor Max | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.73 kb |
#include<cstdio>
const int N=100000;
int v[N+1];
int n;
int main(){
freopen("xormax.in","r",stdin);
freopen("xormax.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&v[i]);
int maxx=-1,l,r;
for(int i=1;i<=n;i++){
int x=0;
for(int j=i;j<=n;j++){
x^=v[j];
if(x==maxx){
if(j<r){
r=j;
l=i;
}
if(j==r)
if(i>l)
l=i;
}
if(x>maxx){
maxx=x;
l=i;
r=j;
}
}
}
printf("%d %d %d",maxx,l,r);
return 0;
}
