Todos os desafios
Médio 0 resolvidos 0% de aceitação

Tempo de Produção na Fábrica

Encontre o menor tempo em que máquinas paralelas conseguem finalizar uma quantidade alvo de itens.

Todas as máquinas começam no tempo 0 e trabalham independentemente. Uma máquina com tempo t finaliza um item após t segundos, outro após 2t segundos, e assim por diante. Encontre o menor segundo inteiro em que a produção combinada delas atinge o alvo.

Implemente factory_machines(times, target).

Entrada

times: Segundos necessários para uma máquina produzir um item.

target: Número de itens completos necessários.

Saída

Retorne o número mínimo de segundos decorridos.

Restrições

1 ≤ máquinas ≤ 200.000. Cada tempo e o alvo estão entre 1 e 1.000.000.000. A resposta cabe em um inteiro assinado de 64 bits.

Exemplos

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

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

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

Saída esperada:
long expected = 6;

Explicação

No tempo 6, as máquinas produziram 3 + 2 = 5 itens. No tempo 5, produziram apenas 2 + 1 = 3.

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

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

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

Saída esperada:
long expected = 12;

Explicação

Uma máquina completa seu terceiro item em 3 × 4 = 12 segundos.

Referências

Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.

Aprenda com outros

Soluções da comunidade

Ainda não há soluções publicadas. Resolva este desafio para compartilhar a primeira.