Pagini recente » Cod sursa (job #27287) | Cod sursa (job #1313998) | Cod sursa (job #645779) | Cod sursa (job #151688) | Cod sursa (job #733157)
Cod sursa(job #733157)
var a,b:array[1..100000]of longint;
n:longint;
procedure init;
var i:longint; f:text;
begin
assign(f, 'xormax.in');
reset(f);
read(f,n);
for i:=1 to n do read(f, a[i]);
close(f);
end;
procedure rez;
var i,j,max,maxi,maxj,maxlen:longint; f:text;
begin
b[1]:=a[1];
for i:=2 to n do b[i]:=a[i] xor b[i-1];
max:=a[1];
maxi:=1;
maxj:=1;
maxlen:=1;
for i:=1 to n do
for j:=i to n do
if (b[j] xor b[i] xor a[i] > max) or (b[j] xor b[i] xor a[i] = max) and (j-i+1<maxlen)
then
begin
max:= b[j] xor b[i] xor a[i];
maxi:=i;
maxj:=j;
maxlen:=j-i+1;
end;
assign(f, 'xormax.out');
rewrite(f);
write(f,max,' ',maxi,' ',maxj);
close(f);
end;
begin
init;
rez;
end.