Cod sursa(job #70388)

Utilizator M@2Te4iMatei Misarca M@2Te4i Data 5 iulie 2007 19:17:30
Problema Xor Max Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
#define v 100005

long long n,a[v],w[v],start,stop,max;

void citire()
{
freopen("xormax.in","r",stdin);     
scanf("%lld", &n);
for (int i=0; i<n; i++)
    scanf("%lld", &a[i]);
fclose(stdin);
}

void xormax()
{
w[0]=a[0];
start=1;
max=w[0];
stop=1;
for (int i=1; i<n; i++)
    for (int j=0; j<=i; j++)
	{
	w[j]^=a[i];
	if (w[j]>max)
	   {
	   max=w[j];
	   start=j+1;
	   stop=i+1;
	   }
	}
}

void printare()
{
freopen("xormax.out","w",stdout);
printf("%lld %lld %lld",max,start,stop);
fclose(stdout);
}

int main()
{
citire();
xormax();
printare();
return 0;    
}