Intercambiando Baldosas


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Prolog, Python, Swift, VB

El Director General quiere remodelar el piso de la escuela usando un lote de baldosas cuadradas recientemente comprado en la tienda Mercado Cuadrado (la cual por supuesto vende únicamente objetos cuadrados). Desafortunadamente, él no midió adecuadamente el tamaño de la escuela antes de hacer la compra, por lo tanto él necesita cambiar algunas de sus baldosas por nuevas baldosas cuadradas de tamaños distintos.

Las baldosas compradas previamente por el Director tienen longitudes de lado A_1...A_N. A él le gustaría cambiar algunas de estas por baldosas nuevas de tal manera que la suma total del área de sus baldosas sea exactamente M. El Mercado Cuadrado está ofreciendo actualmente una oferta especial: una baldosa de lado A_i puede ser cambiada por una baldosa nueva de longitud de lado B_i por un costo de |A_i-
B_i|*|A_i-B_i| unidades. Sin embargo, esta oferta se aplica únicamente a baldosas previamente compradas - no se permite que el Director cambie una baldosa obtenida a través de cambiar alguna otra baldosa (esto es, no se puede cambiar una baldosa de tamaño 3 por una baldosa de tamaño 2, que es luego cambiada por una baldosa de tamaño 1).

Determine, por favor, la mínima cantidad de dinero requerida para cambiar las baldosas de tal manera que la suma de las áreas de la baldosas sea M. Dé como salida -1 si es imposible obtener un área de M.

FORMATO DE ENTRADA:

  • Línea 1: Dos enteros separados por espacio; N (1\leq N \leq 10) y M (1 \leq M \leq 10,000).

  • Líneas 2..1+N: Cada línea contiene uno de los enteros de A_1 hasta A_N, describiendo la longitud de lado de un cuadrado de entrada (1 \leq A_i \leq 100).

ENTRADA EJEMPLO

3 6
3
3
1

DETALLES DE LA ENTRAD:

Hay 3 baldosas. Dos cuadradas con lado de longitud 3 y una cuadrada con lado de longitud 1. Nos gustaría cambiarlas para tener un área total de 6.

FORMATO DE SALIDA:

  • Línea 1: El costo mínimo de intercambiar baldosas para obtener M unidades de área total, o -1 si esto es imposible.

SALIDA EJEMPLO

5

DETALLES DE LA SALIDA:

Se cambia una de las baldosas cuadradas de lado 3 por una baldosa cuadrada de lado 2, y otra baldosa cuadrada de lado 3 por una baldosa cuadrada de lado 1. Esto da el área deseada de 4+1+1=6 y cuesta 4+1=5 unidades.


Comments


  • 3
    Osnielfc_07  commented on March 25, 2021, 7:55 p.m. edited

    Gracias hermano , que dios te lo page con un pasaje para Rusia.


  • 2
    Osnielfc_07  commented on March 23, 2021, 2:12 p.m.

    Alguien me puede decir si yo comprando un paquete de datos nacionales , del que cuesta un $1 , me pueda conectar a esta pagina. Por favor no me dejen colgado.


    • 4
      josed  commented on March 23, 2021, 2:48 p.m.

      No necesitas comprar paquete de ningún tipo, el sitio es gratis por todas las vías que ofrece Etecsa. Importante, esto es solo por el dominio https://dmoj.uclv.edu.cu.


  • 2
    dmesadiaz  commented on Dec. 26, 2019, 8:03 p.m.

    Por favor podrian darme alguna idea de como hacer este ejercicio


    • 4
      Leonardo  commented on Dec. 27, 2019, 10:24 p.m.

      SPOILER

      Puedes hacer una dp de la forma: dp[i][j] donde i sea el iesimo cuadrado y j seria el area hasta cogiendo todos hasta la iesima posicion, entonces para cada estado de la dp calculas el todos los bi posibles,esto pareciera a simple vista un 0(NMM)pero sin embargo es O(N+M+100) debido a que cada bi que visitas tiene que ser menor que la raiz de M


      • 1
        dmesadiaz  commented on Dec. 28, 2019, 8:36 a.m.

        Muchas gracias.