Cod sursa(job #2216997)

Utilizator alextodoranTodoran Alexandru Raul alextodoran Data 28 iunie 2018 16:17:38
Problema Xor Max Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>

#define NM 100002

using namespace std;

int n, v[NM], poz = 1, mx = -1, lmx = -1, rmx = -1;

int main()
{
    ifstream fin ("xormax.in");
    ofstream fout ("xormax.out");
    fin >> n;
    for(int i = 1; i <= n; i++)
        fin >> v[i];
    while(poz <= n)
    {
        int val = 0, mx1 = -1, rmx1 = -1;
        for(int i = poz; i <= n; i++)
        {
            val ^= v[i];
            if(val > mx1)
            {
                mx1 = val;
                rmx1 = i;
            }
        }
        if(mx1 > mx)
        {
            mx = mx1;
            lmx = poz;
            rmx = rmx1;
        }
        poz = rmx1 + 1;
    }
    fout << mx << " " << lmx << " " << rmx << "\n";
    return 0;
}