Pagini recente » Cod sursa (job #1184858) | Cod sursa (job #615129) | Cod sursa (job #185259) | Cod sursa (job #2748050) | Cod sursa (job #152136)
Cod sursa(job #152136)
var vxor:array[0..100000]of longint;
a:array[1..100000,1..100000]of longint;
n,i,j,max,start, stop,x:longint;
f,g:text;
begin
assign(f,'xormax.in');
assign(g,'xormax.out');
reset(f);
rewrite(g);
read(f,n);
vxor[0]:=0;
{(a xor b=c) <=> (a=b xor c) <=> (a xor c=b)}
for i:=1 to n do
begin
read(f,x);
vxor[i]:=vxor[i-1] xor x;
end;
max:=0;
for i:=1 to n-2 do
for j:=i+1 to n do
begin
a[i,j]:=vxor[i-1] xor vxor[j];
if (a[i,j]=max) and (j<stop) then
begin
start:=i;
stop:=j;
end else
if (a[i,j]=max) and (j-i<stop-start) then
begin
start:=i;
stop:=j;
end else
if a[i,j]>max then
begin
max:=a[i,j];
start:=i;
stop:=j;
end;
end;
write(g,max,' ',start,' ',stop);
close(f);
close(g);
end.