Pagini recente » Cod sursa (job #1479531) | Cod sursa (job #2882246) | Cod sursa (job #625569) | Cod sursa (job #412532) | Cod sursa (job #1287594)
#include<fstream>
#include<vector>
using namespace std;
ifstream in("xormax.in");
ofstream out("xormax.out");
int main()
{
size_t n,i,j,max,start,stop,c;
vector<size_t> v;
in>>n;
v.resize(n);
for(i=0;i<n;i++) in>>v.at(i);
max=v.at(0);
start=1;
stop=1;
for(i=0;i<n-1;i++)
{
v.at(i+1)^=v.at(i);
if(v.at(i+1)>max)
{
max=v.at(i+1);
start=1;
stop=i+2;
}
}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
c=v.at(i)^v.at(j);
if(c>max)
{
max=(v.at(i)^v.at(j));
start=i+2;stop=j+1;
}
else if(c==max&&stop-start>j-i-1)
{
max=(v.at(i)^v.at(j));
start=i+2;stop=j+1;
}
else if(c==max&&stop-start==j-i-1&&stop>j)
{
max=(v.at(i)^v.at(j));
start=i+2;stop=j+1;
}
}
out<<max<<" "<<start<<" "<<stop;
}