Pulparindos


Submit solution

Points: 100 (partial)
Time limit: 0.75s
Memory limit: 256M

Authors:
Problem types

Descripción

Karla es una gran fanática de los pulparindos (en el 2046 son el único dulce que hay, quizá porque los niños, aparte de aventar piedras a las palomas, también avientan pulparindos a las tortugas), así que se metió a trabajar en su fabrica de producción. En su primer día de trabajo, la tarea de Karla es sencilla: maximizar la recolección de pulparindos de las máquinas.

En la fábrica existen \(N\) máquinas, y por cada máquina \(i\) esta produce \(x_i\) pulparidos constantemente. Pero el dueño de la empresa ya está dañado por tantos microplásticos y tiene unas reglas peculiares para la recolección de su producto:

  • Cada máquina \(i\) tiene asignada a otra máquina \(j\). Si Karla agarra pulparindos de la máquina \(i\), la siguiente vez que recolecte el producto lo tendrá que hacer de la máquina \(j\).
  • La primera vez que Karla recolecte los dulces de una máquina, agarrará los \(x_i\) pulparindos que produce. Si vuelve a pasar por la misma máquina (es su segunda vez que recolecta dulces de esa máquina) está obligada a recolectar \(x_i - 1\) pulparindos. Si pasa una tercera vez tiene que recolectar \(x_i - 1 - 2\) pulparindos. Si pasa una cuarta vez está forzada a tomar \(x_i - 1 - 2 - 3\) pulparidos, y así consecutivamente. Si en algún momento esta cantidad se vuelve negativa, Karla ya no puede recolectar más pulparindos de esa máquina. En ese caso debe continuar con la siguiente máquina asignada. El proceso termina cuando todas las máquinas del recorrido producen una cantidad negativa en la siguiente visita, es decir, cuando ya no es posible obtener pulparindos de ninguna de ellas.

Problema

Teniendo en cuenta cómo funciona la fábrica, la tarea de Karla consiste en seleccionar una máquina tal que el recorrido máximice la cantidad de pulparindos recolectados. Como resulta ser que no es tan fácil su trabajo, recordó que, en los tiempos cuando existían las universidades, estudió Ciencias Computacionales; pero como fue hace 20 años ya no recuerda cómo programar, así que te ha pedido tu ayuda para que realices un programa que le diga cuál es la máquina que debe seleccionar.

Entrada

En la primera línea habrá un entero \(N\): La cantidad de máquinas que hay.

En la segunda línea habrá \(N\) enteros: \(j_1, j_2, j_3, ..., j_n\). Que representan, para cada máquina \(i\), la máquina \(j\) asignada.

En la tercera línea habrá \(N\) enteros: \(x_1, x_2, x_3, ..., x_n\). Que representan la cantidad de pulparindos que produce cada máquina.

Salida

En la salida debe haber dos enteros: El primero representa el índice de la máquina con el que Karla debe comenzar su reccorido, y el segundo representa cuántos pulparindos recolectará. Si hay varios puntos de inicio que produzcan la máxima cantidad de pulparindos recolectados, se deberá imprimir el índice más pequeño.


Ejemplos

Entrada

3
1 2 3
5 5 5

Salida

1 11

Explicación: Para todas las máquinas, su siguiente máquina en donde deben recolectar es ella misma, por lo que si empiezas el recorrido en la máquina \(1\) el recorrido se ve así:

  • La primera vez que visitas agarras \(5\) pulparindos y sigues en la máquina \(1\).
  • La segunda vez que visitas agarras \(5 - 1 = 4\) pulparindos y sigues en la máquina \(1\).
  • La tercera vez que visitas agarras \(5 - 1 - 2 = 2\) pulparindos y sigues en la máquina \(1\).
  • La cuarta vez que visitas la máquina ya no es posible agarrar más pulparindos porque \(5 - 1 - 2 - 3 < 0\), por lo que aquí acaba el recorrido.

La cantidad final de pulparindos que se recolectarán serán \(5 + 4 + 2 = 11\). Nota que si empiezas en otra máquina el resultado es el mismo, pero debes reportar el índice más pequeño.

Entrada

4
2 1 4 3
1 1 2 9

Salida

3 29

Límites

  • \(1 \leq N \leq 10^6\).
  • \(1 \leq j_i \leq N\).
  • \(1 \leq x_i \leq 10^8\).

Comments

There are no comments at the moment.