Pagini recente » Cod sursa (job #2050682) | Cod sursa (job #647396) | Cod sursa (job #2609464) | Cod sursa (job #128908) | Cod sursa (job #3172268)
#include <bits/stdc++.h>
using namespace std;
int main() {
ifstream cin("xormax.in");
ofstream cout("xormax.out");
int n;
cin >> n;
int i = 0;
int ans = -INT_MAX;
vector<int> arr(n, 0);
vector<int> sumArr(n, 0);
int sIdx = 0;
int eIdx = 0;
while (i != n) {
cin >> arr[i];
sumArr[i] = arr[i];
if (i > 0) {
sumArr[i] = max(sumArr[i - 1] ^ arr[i], arr[i]);
}
if (ans < sumArr[i]) {
ans = sumArr[i];
eIdx = i;
}
i++;
}
i = eIdx;
int x = arr[eIdx];
while (i > 0) {
if ((x ^ sumArr[i]) == arr[i - 1]) {
sIdx = i - 1;
} else {
break;
}
i--;
}
cout << ans << " " << sIdx + 1 << " " << eIdx + 1 << endl;
return 0;
}
//15
//17
//8
//4
//-1000
//101
//10