SUBSEQ


Gửi bài giải

Điểm: 50
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G

Tác giả:
Kiểu bài tập
Ngôn ngữ cho phép
C++, Python

Cho một mảng A gồm n số nguyên dương A₁, A₂, …, Aₙ đôi một khác nhau.

Gọi M₁ là phần tử nhỏ nhất và M₂ là phần tử nhỏ nhì trên đoạn Aₗ, Aₗ₊₁, …, Aᵣ (1 ≤ l ≤ r ≤ n).

Gọi:

S = ((M₁ AND M₂) XOR (M₁ OR M₂)) AND (M₁ XOR M₂)

Trong đó:

  • AND là phép toán AND bit;
  • OR là phép toán OR bit;
  • XOR là phép toán XOR bit.

Yêu cầu: Tìm giá trị lớn nhất của S trên tất cả các đoạn con của mảng A.

INPUT

  • Dòng đầu tiên chứa số nguyên dương n (1 ≤ n ≤ 10⁶);
  • Dòng thứ hai chứa n số nguyên dương A₁, A₂, …, Aₙ (1 ≤ Aᵢ ≤ 10⁹).

OUTPUT

Ghi ra một số nguyên duy nhất là giá trị lớn nhất của S.

Ví dụ

Sample Input
5
9 6 3 5 2
Sample Output
15
Giải thích

Xét đoạn [1, 2], ta có:

  • M₁ = 6;
  • M₂ = 9.

Khi đó:

S = ((9 AND 6) XOR (9 OR 6)) AND (9 XOR 6)

= 15

Vậy giá trị lớn nhất của S là:

15

Nhận xét

Không có ý kiến tại thời điểm này.