Preparing NOJ

Bike loves looking for the second maximum element in the sequence. The second maximum element in the sequence of distinct numbers *x*_{1}, *x*_{2}, ..., *x*_{k} (*k* > 1) is such maximum element *x*_{j}, that the following inequality holds: .

The lucky number of the sequence of distinct positive integers *x*_{1}, *x*_{2}, ..., *x*_{k} (*k* > 1) is the number that is equal to the bitwise excluding OR of the maximum element of the sequence and the second maximum element of the sequence.

You've got a sequence of distinct positive integers *s*_{1}, *s*_{2}, ..., *s*_{n} (*n* > 1). Let's denote sequence *s*_{l}, *s*_{l + 1}, ..., *s*_{r} as *s*[*l*..*r*] (1 ≤ *l* < *r* ≤ *n*). Your task is to find the maximum number among all lucky numbers of sequences *s*[*l*..*r*].

Note that as all numbers in sequence *s* are distinct, all the given definitions make sence.

The first line contains integer *n* (1 < *n* ≤ 10^{5}). The second line contains *n* distinct integers *s*_{1}, *s*_{2}, ..., *s*_{n} (1 ≤ *s*_{i} ≤ 10^{9}).

Print a single integer — the maximum lucky number among all lucky numbers of sequences *s*[*l*..*r*].

5

5 2 1 4 3

7

5

9 8 3 5 7

15

For the first sample you can choose *s*[4..5] = {4, 3} and its lucky number is (4 *xor* 3) = 7. You can also choose *s*[1..2].

For the second sample you must choose *s*[2..5] = {8, 3, 5, 7}.

Info

Provider CodeForces

Origin Codeforces Round #172 (Div. 1)

Code CF280B

Tags

data structuresimplementationtwo pointers

Submitted 59

Passed 37

AC Rate 62.71%

Date 03/03/2019 21:25:01

Related