Cod sursa(job #69745)

Utilizator M@2Te4iMatei Misarca M@2Te4i Data 4 iulie 2007 08:47:37
Problema Xor Max Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 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", &n);
for (int i=0; i<n; i++)
    scanf("%ld", &a[i]);
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;    
}