Cod sursa(job #3157235)

Utilizator paaull69Ion Paul paaull69 Data 14 octombrie 2023 20:45:24
Problema Xor Max Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
/*
ID: teparuf1
TASK: dualpal
LANG: C++
*/
#include <bits/stdc++.h>

#define MOD 1000000007
typedef long long int ll;
using namespace std;

ifstream fin("xormax.in");
ofstream fout("xormax.out");


int sp[100001];
int mn[100001];

int main()
{
    int n;
    fin >> n;
    int mx=0;
    mn[0]=0;
    for(int i=1;i<=n;i++)
    {
        int x;
        fin >> x;
        sp[i]=sp[i-1]^x;
        if(sp[mn[i-1]] <= sp[i])
        {
            mn[i]=i;
        }
        else mn[i]=mn[i-1];

    }
    mx=sp[1];
    int l=1,r=1;
    for(int i=2;i<=n;i++)
    {
        if(sp[i]^sp[mn[i-1]] > mx)
        {
            l=mn[i-1]+1;
            r=i;
            mx=sp[i]^sp[mn[i-1]];
        }
        if(sp[i]>mx)
        {
            l=1;
            r=i;
            mx=sp[i];
        }
    }
    fout << mx << " " << l << " " << r;
}