Pagini recente » Cod sursa (job #86735) | Cod sursa (job #2099654) | Cod sursa (job #2150974) | Cod sursa (job #239069) | Cod sursa (job #138596)
Cod sursa(job #138596)
#include<stdio.h>
FILE *fin=freopen("xormax.in","r",stdin),
*fout=freopen("xormax.out","w",stdout);
long n,a[100001],x[100001];
void citire()
{
scanf("%ld",&n);
for(int i=0;i<n;i++)
scanf("%ld",&a[i]);
}
void solve()
{
x[0]=a[0];
long max=x[0],poz=0;
for(int i=1;i<n;i++)
{
x[i]=((x[i-1]^a[i])>a[i])?x[i-1]^a[i]:a[i];
if(x[i]>max) max=x[i],poz=i;
}
long pom=poz;
while((x[pom-1]^a[pom])==x[pom])
{
if(a[pom]==x[pom]) break;
pom--;
}
printf("%ld %ld %ld",max,pom+1,poz+1);
}
int main()
{
citire();
solve();
return 0;
}