Todos los desafíos
Intermedio 0 resueltos 0% de aceptación

Tiempo de Producción en Fábrica

Encuentra el tiempo más temprano en que máquinas en paralelo pueden terminar una cantidad objetivo de productos.

Todas las máquinas comienzan en el tiempo 0 y trabajan de forma independiente. Una máquina con tiempo t termina un producto después de t segundos, otro después de 2t segundos, y así sucesivamente. Encuentra el primer segundo entero en que su producción combinada alcanza el objetivo.

Implementa factory_machines(times, target).

Entrada

times: Segundos necesarios para un producto en cada máquina.

target: La cantidad de productos terminados requerida.

Salida

Devuelve el mínimo número de segundos transcurridos.

Restricciones

1 ≤ máquinas ≤ 200,000. Cada tiempo y el objetivo están entre 1 y 1,000,000,000. La respuesta cabe en un entero con signo de 64 bits.

Ejemplos

Ejemplo 1
Entrada:
times = [2, 3]
target = 5

Salida esperada:
expected = 6
Entrada:
std::vector<long long> times = {2, 3};
long long target = 5;

Salida esperada:
long long expected = 6;
Entrada:
long[] times = new long[] {2, 3};
long target = 5;

Salida esperada:
long expected = 6;

Explicación

En el segundo 6 las máquinas han producido 3 + 2 = 5 productos. En el segundo 5 solo han producido 2 + 1 = 3.

Ejemplo 2
Entrada:
times = [4]
target = 3

Salida esperada:
expected = 12
Entrada:
std::vector<long long> times = {4};
long long target = 3;

Salida esperada:
long long expected = 12;
Entrada:
long[] times = new long[] {4};
long target = 3;

Salida esperada:
long expected = 12;

Explicación

Una máquina termina su tercer producto en 3 × 4 = 12 segundos.

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.