Pagini recente » Cod sursa (job #2044563) | Cod sursa (job #507630) | Cod sursa (job #325892) | Cod sursa (job #69481) | Cod sursa (job #138601)
Cod sursa(job #138601)
#include<stdio.h>
FILE *fin=freopen("xormax.in","r",stdin),
*fout=freopen("xormax.out","w",stdout);
long long n,a[100001],x[100001];
void citire()
{
scanf("%lld",&n);
for(int i=0;i<n;i++)
scanf("%lld",&a[i]);
}
void solve()
{
x[0]=a[0];
long long max=x[0];
int 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;
}
int pom=poz;
while((x[pom-1]^a[pom])==x[pom])
{
if(a[pom]==x[pom]) break;
pom--;
}
printf("%lld %d %d",max,pom+1,poz+1);
}
int main()
{
citire();
solve();
return 0;
}