Cod sursa(job #2763415)
Utilizator | Razvan Gabriel Razvan86 | Data | 13 iulie 2021 21:23:25 |
---|---|---|---|
Problema | Xor Max | Scor | 30 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.22 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("xormax.in");
ofstream fout ("xormax.out");
int main()
{
int n; int v[100005];
int maximul=0,initialul,finalul;
fin >> n;
for (int i=1; i<=n; i++)
fin >> v[i];
for (int i=1; i<n; i++)
{
int partial = v[i],initialp=i;
for (int j=i+1; j<=n; j++)
{
partial = partial^v[j];
if (partial>maximul)
{
maximul = partial;
initialul = initialp;
finalul = j;
}
else if (partial==maximul)
{
if (j<finalul)
{
maximul = partial;
initialul = initialp;
finalul = j;
}
else if (j==finalul)
{
if (j-initialp<finalul-initialul)
{
maximul = partial;
initialul = initialp;
finalul = j;
}
}
}
}
}
fout << maximul << " " << initialul << " " << finalul;
return 0;
}