Pagini recente » Cod sursa (job #108316) | Cod sursa (job #1777172) | Cod sursa (job #2241585) | Cod sursa (job #2796128) | Cod sursa (job #1513306)
#include <fstream>
using namespace std;
ifstream fin("xormax.in");
ofstream fout("xormax.out");
long n, a[100003], i, j, sum, k, ma, sa, so, ssum;
int main()
{
fin >> n;
for(i = 1; i <= n; i++)
{
fin >> a[i];
if(a[i] > ma)
{
ma = a[i];
sa = so = i;
}
}
if(n == 1) {fout << a[1] << " 1 1"; return 0;}
else sum = a[1] ^ a[2];
if(sum > ma) {ma = sum; sa = 1; so = 2;}
ssum = sum;
k = 2;
for(i = 2; i <= n; i++)
{
for(j = k+1; j <= n; j++)
{
sum = sum ^ a[j-k] ^ a[j];
if(sum > ma)
{
ma = sum;
sa = j-k+1;
so = j;
}
}
sum = ssum;
k++;
sum = sum ^ a[k];
}
fout << ma << " " << sa << " " << so;
return 0;
}