QOJ.ac

QOJ

時間限制: 2 s 記憶體限制: 1024 MB 總分: 100 可 Hack ✓

#16890. Magia de sucesiones

统计

Hanbyeol planeó un evento especial para las finales de la UCPC, que se celebran de forma presencial por primera vez en tres años: ¡compartir una tarta de frambuesa con los participantes! Hanbyeol dividió la tarta, que tiene forma cilíndrica, en $M$ partes iguales, de modo que cada trozo tuviera forma de sector circular, y colocó una frambuesa sobre cada trozo. Luego, numeró cada trozo del 1 al $M$ en sentido horario.

Al enterarse de que un total de $N$ ($N \le M$) participantes asistirían al concurso, Hanbyeol decidió de antemano qué trozo de tarta se le asignaría a cada participante. Sin embargo, justo cuando todos los participantes llegaron al lugar y Hanbyeol estaba a punto de repartir los trozos, un participante señaló una frambuesa sobre la tarta y declaró: "¡Si no me das esa frambuesa, resolveré todos los problemas en 10 minutos!". Otros participantes comenzaron a pedir las frambuesas que deseaban, y al final, todos los participantes expresaron qué frambuesa querían comer.

Para satisfacer las demandas de los participantes, Hanbyeol intenta ajustar la posición de las frambuesas decoradas en la tarta. Sin embargo, estas frambuesas son sensibles a los cambios ambientales y se echarán a perder rápidamente a menos que se muevan de la siguiente manera:

  • Seleccionar un trozo y mover todas las frambuesas que contiene al trozo inmediatamente siguiente.

Aquí, el trozo inmediatamente siguiente al trozo 1 es el trozo 2, el siguiente al trozo 2 es el 3, ..., el siguiente al trozo $M-1$ es el trozo $M$, y el siguiente al trozo $M$ es el trozo 1.

Dado que las frambuesas en mal estado afectan negativamente a las demás, Hanbyeol quiere satisfacer las demandas de todos los participantes moviendo las frambuesas el mínimo número de veces posible sin que ninguna se eche a perder. Ayudemos a Hanbyeol a evitar el desastre de que el concurso termine en 10 minutos.

Nota: A los participantes no les importa si terminan comiendo la frambuesa que querían junto con otras frambuesas, y si se selecciona un trozo que contiene varias frambuesas, el movimiento cuenta como una sola vez.

Entrada

La primera línea contiene el número de trozos de tarta $M$ y el número de participantes $N$, separados por un espacio. ($1 \le N \le M \le 300\,000$)

La segunda línea contiene $N$ enteros $a_1, \dots, a_N$ separados por espacios. ($1 \le a_i \le M$) $a_i$ representa el número del trozo de tarta asignado al $i$-ésimo participante, y todos los $a_i$ son distintos.

La tercera línea contiene $N$ enteros $b_1, \dots, b_N$ separados por espacios. ($1 \le b_i \le M$) $b_i$ representa el número del trozo de tarta donde se encuentra la frambuesa que desea el $i$-ésimo participante.

Salida

Si es posible satisfacer las demandas de todos los participantes sin que las frambuesas se echen a perder, imprime el número mínimo de movimientos necesarios. De lo contrario, imprime $-1$.

Ejemplos

Entrada 1

5 2
3 5
1 4

Salida 1

3

Entrada 2

3 2
3 2
1 2

Salida 2

5

Entrada 3

4 3
1 3 4
1 1 3

Salida 3

-1

Nota

En el primer ejemplo, se pueden satisfacer las demandas de todos los participantes moviendo las frambuesas un total de 3 veces de la siguiente manera. No existe una forma de hacerlo con menos movimientos.

i. Mover todas las frambuesas del trozo 1 al trozo 2. ii. Mover todas las frambuesas del trozo 2 al trozo 3. iii. Mover todas las frambuesas del trozo 4 al trozo 5.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.