Cod sursa(job #473031)

Utilizator andrei.dAndrei Diaconeasa andrei.d Data 27 iulie 2010 18:28:01
Problema Xor Max Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <cstdio>

#define file_in "xormax.in"
#define file_out "xormax.out"

int n,a[100010];

void citire()
{
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	int x;
	scanf("%d", &n);
	a[0]=0;
	for (int i=1;i<=n;++i)
	{
		scanf("%d", &x);
		a[i]=a[i-1]^x;
	}
}

void solve()
{
	int i,j,max=-1,sf,inc;
	for (i=2;i<=n;++i)
		 for (j=i-1;j>=1;--j)
			  if ((a[i]^a[j])>max)
			  {
				  max=(a[i]^a[j]);
				  inc=j;
				  sf=i;
			  }
			  
	printf("%d %d %d", max,inc+1,sf);		  
	
}

int main()
{
	citire();
	solve();
	
	fclose(stdin);
	fclose(stdout);
	
	return 0;
	
}