Cod sursa(job #2098776)

Utilizator albucristianAlbu Cristian-Gabriel albucristian Data 3 ianuarie 2018 15:03:55
Problema Xor Max Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>
#include <cmath>
using namespace std;
int v[100002];
int main()
{
    int n,i,j,a,b,maxim,q;
    ifstream in("xormax.in");
    ofstream out("xormax.out");
    in>>n;
    for(i=1;i<=n;i++)
    {
        in>>v[i];
        v[i]=(v[i]^v[i-1]);
    }
    maxim=-1;
    for(i=1;i<n;i++)
    {
        if(v[i]>maxim)
        {
            maxim=v[i];
            a=1;
            b=i;
        }
        for(j=i+1;j<=n;j++)
        {
            q=(v[j]^v[i]);
            if(q>maxim)
            {
                maxim=q;
                a=i+1;
                b=j;
            }
            else
            {
                if(q==maxim)
                {
                    if(j<b||j-i-1<b-a)
                    {
                        a=i+1;
                        b=j;
                    }
                }
            }
        }
    }
    out<<maxim<<" "<<a<<" "<<b;
    return 0;
}