Cod sursa(job #2217002)
Utilizator | Data | 28 iunie 2018 16:30:05 | |
---|---|---|---|
Problema | Xor Max | Scor | 35 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.66 kb |
#include <bits/stdc++.h>
#define NM 100002
using namespace std;
int n, v[NM], 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];
for(int i = 1; i <= n; i++)
{
int xorval = 0;
for(int j = i; j <= n; j++)
{
xorval ^= v[j];
if(xorval > mx || (xorval == mx && j < rmx))
{
mx = xorval;
lmx = i;
rmx = j;
}
}
}
fout << mx << " " << lmx << " " << rmx << "\n";
return 0;
}