Cod sursa(job #3131661)

Utilizator patrick_burasanPatrick Burasan patrick_burasan Data 20 mai 2023 21:41:22
Problema Xor Max Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>

using namespace std;

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

int a[100002];

int main()
{
    int N, i, maxx, s, l, lmin, dr;

    in >> N;
    for (i = 1; i <= N; ++i)
        in >> a[i];
    in.close();

    maxx = 0;
    s = 0;
    l = 0;
    lmin = 100001;
    for (i = 1; i <= N; ++i)
    {
        s ^= a[i];
        l++;
        if (s > maxx)
        {
            lmin = l;
            maxx = s;
        }
        else if (s == maxx)
        {
            if (l < lmin)
                lmin = l;
            else
                l = 0;
        }
        else
        {
            dr = i;
            l = 1;
            s = a[i];
        }
    }

    if (l)
        dr = i - 1;
    out << maxx << ' ' << dr - lmin + 1 << ' ' << dr << '\n';
    out.close();
    return 0;
}