Juego de Cajas

Time Limit:
1 Sec
Memory Limit:
128Mb
Enviados:
0
Resuelto:
0
Enviar IDE Estado

Descripción

Carlos se encuentra inmerso en un juego de realidad virtual, en el cual se enfrenta a distintos retos que ponen a prueba su ingenio. En uno de los últimos retos Carlos debe mover una serie de cajas para obtener de esta forma el mayor puntaje posible y superar el reto.

El reto consiste en lo siguiente: se tienen 2 filas de cajas. Las cajas de la primera fila contienen cada una cierta cantidad de monedas, por ejemplo la primera caja tiene 5 monedas, la segunda 3 monedas, la tercera 7 monedas y la cuarta 1 moneda. Las cajas de la segunda fila contienen cada una un multiplicador que hará crecer las monedas que tienen en la caja que está arriba de ellas, por ejemplo los multiplicadores 1, 4, 3 y 9 en ese orden.

Finalmente, en base a la posición de los multiplicadores se determina el puntaje que obtiene Carlos: en el ejemplo anterior, el puntaje se calcula como \(5 \cdot 1 + 3 \cdot 4 + 7 \cdot 3 + 1 \cdot 9 = 5 + 12 + 21 + 9 = 47\).

Ese no es el puntaje máximo que puede alcanzar Carlos: si acomoda los multiplicadores como \(4, 3, 9, 1\) obtiene \(5 \cdot 4 + 3 \cdot 3 + 7 \cdot 9 + 1 \cdot 1 = 20 + 9 + 63 + 1 = 93\), que sí es el máximo posible.

Carlos puede únicamente mover las cajas de multiplicadores y no puede cambiar las cajas que contienen monedas. Ayuda a Carlos a determinar cuál debe ser el orden en el que debe poner las cajas con multiplicadores para alcanzar el máximo puntaje.

Entrada

La primera línea contiene un entero \(N\) (\(2 \le N \le 10^6\)), la cantidad de cajas con monedas que tiene Carlos (que es igual a la cantidad de cajas con multiplicadores).

La segunda línea contiene \(N\) enteros positivos distintos \(c_1, c_2, \ldots, c_N\) (\(1 \le c_i \le 10^8\)): la cantidad de monedas en la caja \(i\) de la primera fila.

La tercera línea contiene \(N\) enteros positivos distintos \(m_1, m_2, \ldots, m_N\) (\(1 \le m_i \le 10^8\)): los multiplicadores disponibles en la segunda fila.

Salida

Imprime el orden óptimo de los multiplicadores (reordenados sobre las posiciones fijas de las cajas de monedas) que obtiene el máximo puntaje posible. Se garantiza que, para cada disposición de cajas de monedas y multiplicadores, existe una única solución que obtiene el máximo puntaje.

Ejemplo Entrada

Copy icon
4
5 3 7 1
1 4 3 9

Ejemplo Salida

Copy icon
4 3 9 1

Ayuda

Explicación del ejemplo 1

Colocando los multiplicadores como \(4, 3, 9, 1\) se obtiene el puntaje máximo: \(5\cdot4+3\cdot3+7\cdot9+1\cdot1 = 93\).