Cod sursa(job #1703718)

Utilizator calin9819Costea Calin calin9819 Data 17 mai 2016 15:34:02
Problema Xor Max Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("xormax.in");
ofstream g("xormax.out");

int n, nr, i, v[100001], smax, j, x[100001], p1, p2;

int main()
{
    f >> n;
    for (i = 1; i <= n; i++) {
        f >> v[i];
        x[i] = x[i - 1] ^ v[i];
    }
    smax = 0;

    for (i = 1; i < n; i++)
        for (j = i + 1; j <= n; j++)
        {
            nr = x[j] ^ x[i - 1];
            if (nr > smax) {
                smax = nr;
                p1 = i;
                p2 = j;
            }
            else if (nr == smax) {
                if (j < p2) {
                    smax = nr;
                    p1 = i;
                    p2 = j;
                }
                else if (j == p2)
                if (i > p1) {
                    p1 = i;
                    p2 = j;
                    smax = nr;
                }
            }
        }



    g << smax << ' ' << p1 << ' ' << p2;
    return 0;
}