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