Cod sursa(job #3172268)

Utilizator N.B.Lnabil. N.B.L Data 20 noiembrie 2023 14:02:22
Problema Xor Max Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb

#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