Charlas en la Preselección
Note el límite de tiempo y memoria inusual para este problema
Es conocido que todos los años (o casi todos) se reúnen los mejores estudiantes de preuniversitario en la Preselección Nacional de Informática. Como parte de la preselección se necesita que los estudiantes compartan sus conocimientos con los demás estudiantes, por lo cual su entrenador ha decidido que se realizarán charlas sobre temas diversos.
Para que las charlas sean interesantes se necesitan escoger los mejores estudiantes para dar las charlas. Hay estudiantes, el -ésimo de ellos tiene un conocimiento ().
Algunos de los estudiantes son amigos entre sí, es decir, hay pares de amigos . Es importante que todos los estudiantes seleccionados para dar charlas sean amigos entre sí. Al mismo tiempo, para que las charlas sean diversas, es importante que el número de estudiantes seleccionados sea el mayor posible.
El conocimiento de un grupo de tamaño que consta de estudiantes es , donde es el XOR bit a bit. En consecuencia, además de los criterios ya descritos, entre todos los grupos adecuados de estudiantes de tamaño máximo, es necesario seleccionar un grupo de estudiantes con el máximo conocimiento.
Su tarea es seleccionar el grupo óptimo de estudiantes según los criterios descritos. Debes resolver este problema para posibles conjuntos de estudiantes.
El XOR bit a bit de enteros no negativos y , , se define de la siguiente manera:
Cuando se escribe en base dos, el dígito en el lugar de es si exactamente uno de los dígitos en ese lugar de y es , y en el caso contrario. Por ejemplo, tenemos (en base dos: ). Generalmente, el XOR bit a bit de enteros no negativos se define como . Podemos demostrar que este valor no depende del orden de . Esta operación se hace mediante el símbolo
^
en muchos lenguajes de programación.
Subtareas
- Subtarea 1 (7 puntos): .
- Subtarea 2 (9 puntos): .
- Subtarea 3 (15 puntos): .
- Subtarea 4 (18 puntos): .
- Subtarea 5 (14 puntos): para .
- Subtarea 6 (9 puntos): , par, , .
- Subtarea 7 (28 puntos): Sin restricciones adicionales.
Entrada
La primera línea de entrada contiene un número entero : el número de casos para los cuales se debe resolver el problema (). Le siguen conjuntos casos.
La primera línea de cada conjunto contiene tres números enteros , y : el número de estudiantes, el número de pares de amigos entre los estudiantes y el número de charlas que se realizarán en la preselección, respectivamente (, , ).
La segunda línea de cada conjunto contiene enteros separados por espacios : el nivel de conocimiento de cada estudiante ().
A continuación siguen líneas, la -ésima de ellas contiene dos números enteros y : el estudiante y el estudiante son amigos (, ). Se garantiza que todos los pares de amigos son diferentes.
Se garantiza que la suma de sobre todos los conjuntos de datos de entrada no excede los .
Salida
Para cada conjunto de entradas, imprima dos números separados por espacios en una línea separada: primero imprima el tamaño del grupo máximo de estudiantes y luego imprima el máximo conocimiento posible del grupo.
Ejemplos
Entrada 1
3
6 2 4
1 2 3 4 5 6
1 2
3 4
6 8 8
1 2 4 8 16 32
1 2
2 3
3 4
4 5
5 6
6 1
1 3
1 4
5 8 6
1 2 4 8 16
1 2
1 3
1 4
2 3
2 4
2 5
3 5
3 4
Salida 1
2 7
3 13
4 15
- En el primer caso es óptimo seleccionar los estudiantes y con conocimiento .
- En el segundo caso es óptimo seleccionar los estudiantes , y con conocimiento .
- En el tercer caso sólo hay una forma de seleccionar estudiantes: seleccionar todos menos el quinto.
Comments