Stick Divisions.


Submit solution

Points: 100 (partial)
Time limit: 2.0s
Memory limit: 512M

Author:
Problem type

Tienes un palo de longitud x y quieres dividirlo en n palos, con longitudes dadas, cuya longitud total es x. En cada movimiento, puedes tomar cualquier palo y dividirlo en dos. El coste de esta operación es la longitud del palo original.

¿Cuál es el coste mínimo necesario para crear los palos?

Entrada

La primera línea de entrada tiene dos enteros x y n: la longitud del palo y el número de palos en la división. La segunda línea tiene n enteros d_1,d_2,\ldots,d_n: la longitud de cada palo en la división.

Salida

Imprime un entero: el coste mínimo de la división.

Restricciones

  • 1 \leq x \leq 10^9
  • 1 \leq n \leq 2 \cdot 10^5
  • \sum d_i = x

Ejemplo de Entrada

8 3
2 3 3

Ejemplo de Salida

13

Explicación: Primero se divide el palo de longitud 8 en palos de longitud 3 y 5 (costo 8). Después, se divide el palo de longitud 5 en palos de longitud 2 y 3 (costo 5). El costo total es 8 + 5 = 13.


Comments

There are no comments at the moment.