Cod sursa(job #601386)

Utilizator a_h1926Heidelbacher Andrei a_h1926 Data 6 iulie 2011 11:44:19
Problema Xor Max Scor 30
Compilator cpp Status done
Runda ah0 Marime 0.87 kb
#include <iostream>
#include <fstream>

#define NMax 100005

using namespace std;

int N, X[NMax], XorMax, Start, End;

void Read ()
{
    ifstream fin ("xormax.in");
    fin >> N;
    for (int i=1; i<=N; ++i)
    {
        fin >> X[i];
    }
    fin.close ();
}

void Print ()
{
    ofstream fout ("xormax.out");
    fout << XorMax << " " << Start << " " << End << "\n";
    fout.close ();
}

int main()
{
    int Xor;
    Read ();
    for (int j=1; j<=N; ++j)
    {
        Xor=X[j];
        if (Xor>XorMax)
        {
            XorMax=Xor;
            Start=j;
            End=j;
        }
        for (int i=j-1; i>0; --i)
        {
            Xor^=X[i];
            if (Xor>XorMax)
            {
                XorMax=Xor;
                Start=i;
                End=j;
            }
        }
    }
    Print ();
    return 0;
}