Fenced In.
¿El Granjero Juan se ha dado cuenta que muchas de sus vacas son extrañamente aerofóbicas (tienen miedo de espacios abiertos grandes). Para que tengan menos miedo de pastear, él partió su campo grande en un número de regiones más pequeñas construyendo cercas verticales (norte-sur) y cercas horizontales (este-oeste).
El campo grande es un rectángulo con esquinas en los puntos y
. GJ construye
cercas verticales en posiciones distintas
; cada cerca va de
a
. También construye
cercas horizontales en las posiciones
; cada una de tales cercas va de
a
. Cada cerca vertical se cruza con cada cerca horizontal, subdividiendo el campo grande en un total de
regiones.
¡Desafortunadamente, GJ se olvidó completamente de construir puertas en sus cercas, haciendo imposible que las vacas dejen sus regiones y recorrer todo el campo! El quiere remediar esta situación removiendo piezas de algunas de sus cercas para permitir que las vacas se desplacen entre regiones adyacentes. El quiere seleccionar ciertos pares de regiones adyacentes y remover todo el largo de cerca separándolas; después, el quiere que las vacas puedan atravesar esas aberturas de tal manera que puedan ir a donde quieran en su campo más grande.
Por ejemplo, GJ podría tener un patrón de cercas como este:
+---+--+
| | |
+---+--+
| | |
| | |
+---+--+
y abrirlo como este:
+---+--+
| |
+---+ +
| |
| |
+---+--+
Por favor ayude a GJ a determinar la cantidad mínima de cerca que él debe remover para lograr su objetivo.
Entrada
La primera línea de entrada contiene y
. Las siguientes
líneas contienen
, y las siguientes
líneas después de ellas contienen
.
Salida
Por favor, escriba la longitud mínima de cercas que GJ debe remover. Note que esta podría ser muy grande para entrar en un tenerlo estándar de 32 bits, entonces usted puede necesitar tipos enteros de 64 bits (por ejemplo, "long long" en C/C++).
Restricciones
Ejemplo de Entrada
15 15 5 2
2
5
10
6
4
11
3
Ejemplo de Salida
44
USACO 2016 February Contest, Gold. Problem 3. Fenced In.
Comments