Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Ali chán XOR

Dễ

  • 100 Điểm
  • 0% Tỉ lệ AC
  • 0 Số AC
  • 512M Bộ nhớ giới hạn
  • 1.5s Giới hạn thời gian

Ali --- một lập trình viên tài năng nhưng đã quá nhàm chán với những bài toán sử dụng phép toán XOR. Anh ta quyết định thử thách bạn bằng một bài toán mới mẻ hơn.

Bạn được cung cấp một dãy số nguyên \(a_1, a_2, \ldots, a_n\).

Một đoạn con liên tiếp \(a_l, a_{l+1}, \ldots, a_r\) được gọi là tốt nếu thỏa mãn điều kiện:

$
a_l \,\&\, a_{l+1} \,\&\, \cdots \,\&\, a_r \;>\; a_l \,\oplus\, a_{l+1} \,\oplus\, \cdots \,\oplus\, a_r
$

Trong đó:

  • \(\&\) là phép toán AND bitwise,
  • \(\oplus\) là phép toán XOR bitwise.

Hãy tìm độ dài của đoạn con tốt dài nhất trong dãy, hoặc thông báo rằng không có đoạn con nào thỏa mãn.

\InputFile

  • Dòng đầu tiên chứa một số nguyên \(n\) (\(1 \le n \le 3 \times 10^5\)) --- độ dài của dãy.
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \ldots, a_n\) (\(1 \le a_i \le 10^6\)).

\OutputFile

In ra một số nguyên duy nhất --- độ dài lớn nhất của đoạn con tốt. Nếu không có đoạn nào tốt, in ra \(0\).

\Scoring

  • Subtask 1 (23 điểm): \(n \le 2000\)
  • Subtask 2 (15 điểm): \(a_i \in \{0, 1\}\)
  • Subtask 3 (32 điểm): \(n \le 10\,000\)
  • Subtask 10 (30 điểm): không giới hạn gì thêm.

Example

Test 1

Input
2
5 6
Output
2

Test 2

Input
6
8 1 3 3 1 2
Output
4

Bình luận

Chưa có bình luận nào.