Aserradero

Ver en PDF

Enviar solución

Puntos: 100 (parcial)
Límite de tiempo: 1.0s
Límite de memoria: 256M

Autor:
Tipo de problema
Lenguajes permitidos
C, C++

Descripción

El libro de la casa de empeño le dio a Renata Quijada una fecha y un monto, y con eso una factura: tres días después del robo, alguien pagó un encargo grande en el aserradero de Madera, Chihuahua.

El encargo era sencillo y muy revelador: al menos K tablas, todas exactamente del mismo largo, para armar cajas de embalaje idénticas. Si Renata averigua qué tan largas son esas tablas, va a saber de qué tamaño era el bulto que el ladrón necesitaba mover y por lo tanto qué parte del meteorito se llevó.

En el patio del aserradero hay N troncos. El i-ésimo tronco mide L_i metros. La sierra sólo hace cortes transversales, así que si las tablas miden T metros, de un tronco de L_i metros salen \left\lfloor L_i / T \right\rfloor tablas y el pedazo sobrante se desecha. Los troncos no se pueden pegar entre sí: cada tabla sale de un solo tronco.

El encargado recuerda una cosa más: el cliente pidió las tablas lo más largas que se pudiera, con tal de completar las K que necesitaba. El largo T es un número entero de metros.

Escribe un programa que determine la mayor longitud T con la que se pueden obtener al menos K tablas.

Entrada

La primera línea contiene dos enteros N y K: la cantidad de troncos y la cantidad mínima de tablas del encargo.

La segunda línea contiene N enteros separados por espacios: L_1, L_2, \ldots, L_N.

Salida

Una sola línea con un entero: la mayor longitud T posible. Si no se pueden obtener K tablas ni siquiera con T = 1, imprime 0.


Ejemplos


Ejemplo 1

Entrada

4 7

9 4 12 5

Salida

4

Explicación Con T = 4 se obtienen \lfloor 9/4 \rfloor + \lfloor 4/4 \rfloor + \lfloor 12/4 \rfloor + \lfloor 5/4 \rfloor = 2 + 1 + 3 + 1 = 7 tablas, justo las que pide el encargo.

Con T = 5 sólo se obtienen 1 + 0 + 2 + 1 = 4 tablas, que ya no alcanzan. Y con cualquier T mayor son todavía menos, así que 4 es la mayor longitud posible.


Ejemplo 2

Entrada

3 100

2 2 2

Salida

0

Explicación Aun cortando tablas de 1 metro sólo salen 2 + 2 + 2 = 6 tablas, muy lejos de las 100 que se piden. El encargo no se pudo haber surtido con estos troncos.


Límites

  • 1 \le N \le 200\,000
  • 1 \le K \le 1\,000\,000\,000
  • 1 \le L_i \le 1\,000\,000\,000

Subtareas

Grupo Puntos Restricciones adicionales
1 20 N \le 100 y L_i \le 1\,000
2 20 N \le 2\,000 y L_i \le 100\,000
3 30 L_i \le 1\,000\,000
4 30 Sin restricciones adicionales

Comentarios

No hay comentarios por el momento.