Cod sursa(job #2098776)
| Utilizator | Data | 3 ianuarie 2018 15:03:55 | |
|---|---|---|---|
| Problema | Xor Max | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.94 kb |
#include <fstream>
#include <cmath>
using namespace std;
int v[100002];
int main()
{
int n,i,j,a,b,maxim,q;
ifstream in("xormax.in");
ofstream out("xormax.out");
in>>n;
for(i=1;i<=n;i++)
{
in>>v[i];
v[i]=(v[i]^v[i-1]);
}
maxim=-1;
for(i=1;i<n;i++)
{
if(v[i]>maxim)
{
maxim=v[i];
a=1;
b=i;
}
for(j=i+1;j<=n;j++)
{
q=(v[j]^v[i]);
if(q>maxim)
{
maxim=q;
a=i+1;
b=j;
}
else
{
if(q==maxim)
{
if(j<b||j-i-1<b-a)
{
a=i+1;
b=j;
}
}
}
}
}
out<<maxim<<" "<<a<<" "<<b;
return 0;
}
