Cod sursa(job #69747)

Utilizator M@2Te4iMatei Misarca M@2Te4i Data 4 iulie 2007 08:53:01
Problema Xor Max Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include<stdio.h>
#define v 100005

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

void citire()
{
freopen("xormax.in","r",stdin);
scanf("%ld%ld", &n, &a[0]);
w=a[0];
start=1;
max=w;
stop=1;
long inc=1,e;
for (long i=1; i<n; i++)
    {
    scanf("%ld", &a[i]);
    e=a[i]^w;
    if (e>a[i])
       {
       w=e;
       }
       else {
	        w=a[i];
	        inc=i+1;
	        }
    if (w>max)
       {
       start=inc;
       stop=i+1;
       max=w;
       }
    }
fclose(stdin);
}

/*void xormax()
{
w=a[0];
start=1;
max=w;
stop=1;
long inc=1,e;
for (long i=1; i<n; i++)
    {
    e=a[i]^w;
    if (e>a[i])
       {
       w=e;
       }
       else {
	        w=a[i];
	        inc=i+1;
	        }
    if (w>max)
       {
       start=inc;
       stop=i+1;
       max=w;
       }
    }
}
*/
void printare()
{
freopen("xormax.out","w",stdout);
printf("%ld %ld %ld",max,start,stop);
fclose(stdout);
}

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