Module: Patrones en Programación Dinámica


Problem

2 /7


Comodidad de viaje máx.

Problem

Max está en la estación de partida del tren, y ahora n personas (incluida la propia Max) quieren subirse a él. Ya están alineados en algún orden, y cada uno de ellos sabe el código de área ai al que se dirigen.

El jefe del tren elige un cierto número de segmentos que no se cruzan de la secuencia original de personas (los segmentos no tienen que cubrir toda la secuencia). Las personas que están en el mismo segmento estarán en el mismo vagón de tren. Los segmentos se eligen de modo que si al menos una persona va a la ciudad X, entonces todas las personas que van a la ciudad X tendrán que estar en el mismo automóvil. Esto significa que no tienen derecho a pertenecer a diferentes segmentos. Cabe señalar que todas las personas que van a la ciudad X van a ella y están en el mismo automóvil o no van a ningún lado.

La comodidad de viajar en un tren con personas en el segmento de l a r es igual al XOR de diferentes códigos de ciudad para personas en el segmento de l a r. La operación XOR también se conoce como OR exclusivo bit a bit.

La comodidad general de los segmentos seleccionados se calcula como la suma de la comodidad de cada segmento individual.

Ayuda a Max a descubrir el máximo confort general que se puede lograr.

Entrada:
La primera línea contiene un número natural n - el número de personas.
La segunda línea contiene n enteros ai (0 <= ai <= 5000) - el código de la ciudad a la que se dirige la i-ésima persona.< br />
Salida:
Imprima un número entero: la máxima comodidad general.

Ejemplos:
 
Entrada Salida
6
4 4 2 5 2 3
14
9
5 1 3 1 5 2 4 2 5
9