Module: Các mẫu trong lập trình động


Problem

2 /7


Đi xe thoải mái tối đa

Problem

Max đang ở ga đầu tiên của đoàn tàu, và bây giờ có n người (bao gồm cả Max) muốn lên đó. Họ đã xếp hàng theo thứ tự nào đó và mỗi người trong số họ đều biết mã vùng ai mà họ sẽ đến.

Người đứng đầu đoàn tàu chọn một số đoạn nhất định không giao nhau của dãy người ban đầu (các đoạn không nhất thiết phải bao gồm toàn bộ dãy). Những người cùng phân khúc sẽ ở cùng một toa tàu. Các đoạn đường được chọn sao cho nếu có ít nhất một người đi đến thành phố X thì tất cả những người đi đến thành phố X sẽ phải ngồi trên cùng một xe. Điều này có nghĩa là họ không có quyền thuộc về các phân khúc khác nhau. Cần lưu ý rằng tất cả những người đến thành phố X đều đi đến thành phố đó và ngồi trên cùng một chiếc xe, hoặc không đi đâu cả.

Sự thoải mái khi đi trên một chuyến tàu với những người trên đoạn từ l đến r bằng với XOR của các mã thành phố khác nhau đối với những người trên đoạn từ l đến r. Phép toán XOR còn được gọi là OR loại trừ bitwise.

Mức độ thoải mái tổng thể của các đoạn đã chọn được tính bằng tổng mức độ thoải mái của từng đoạn riêng lẻ.

Giúp Max tìm ra mức độ thoải mái tổng thể tối đa có thể đạt được.

Đầu vào:
Dòng đầu tiên ghi số tự nhiên n - số người.
Dòng thứ hai chứa n số nguyên ai (0 <= ai <= 5000) - mã thành phố mà người thứ i sẽ đến.< br />
Đầu ra:
In một số nguyên - sự thoải mái tổng thể tối đa.

Ví dụ:
 
Đầu vào Đầu ra
6
4 4 2 5 2 3
14
9
5 1 3 1 5 2 4 2 5
9