Problema
Ver original (inglés)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
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.
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.