Cod sursa(job #138679)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 18 februarie 2008 23:52:57
Problema Xor Max Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <stdio.h>
#include <math.h>
#define MAX 100100
long a[MAX][25],sir[MAX],n,kkt[MAX];
long S=0,inc,sf;

void citire()
{
   long x;
   freopen ("xormax.in","r",stdin);
      scanf("%ld",&n);
      for (int i=0;i<n;i++)
      {
	  scanf("%ld",&sir[i]);
      }
fclose(stdin);
}
void max()
{
   long max=sir[0];
   freopen ("xormax.out","w",stdout) ;
   for (int q=0;q<n;q++)
       kkt[q]=1;
       inc=-1;
       sf=-1;
   for (int i=1;i<n;i++)
   {
      if (sir[i]>max)
      {
	 max=sir[i];
	 inc=i;
	 sf=inc+kkt[i]-1;
      }

      if ((sir[i]^sir[i-1])>max)
      {
	 max=sir[i]^sir[i-1];
	 sir[i]=max;
	 sf=i;
	 kkt[i]=kkt[i-1]+1;
	 inc=sf-kkt[i]+1;
      }
   }
   printf ("%ld %ld %ld \n",max,inc+1,sf+1);
   fclose (stdout);
}

int main ()
{
   citire();
   max();
   return 0;
}