Все задачи
Средне Решено: 0 Процент решений: 0%

Время производства на фабрике

Найдите минимальное время, за которое параллельные машины смогут изготовить заданное количество изделий.

Все машины начинают работу в момент времени 0 и работают независимо друг от друга. Машина с временем t изготавливает одно изделие за t секунд, следующее — через 2t секунд, и так далее. Найдите минимальное целое число секунд, к которому суммарное количество произведённых изделий всеми машинами достигнет цели.

Реализуйте функцию factory_machines(times, target).

Входные данные

times: Количество секунд, необходимое каждой машине для изготовления одного изделия.

target: Требуемое количество готовых изделий.

Выходные данные

Верните минимальное количество прошедших секунд.

Ограничения

1 ≤ машин ≤ 200 000. Каждый элемент массива времени и цель — от 1 до 1 000 000 000. Ответ помещается в знаковый 64-битный тип.

Примеры

Пример 1
Ввод:
times = [2, 3]
target = 5

Ожидаемый вывод:
expected = 6
Ввод:
std::vector<long long> times = {2, 3};
long long target = 5;

Ожидаемый вывод:
long long expected = 6;
Ввод:
long[] times = new long[] {2, 3};
long target = 5;

Ожидаемый вывод:
long expected = 6;

Пояснение

В момент времени 6 машины изготовили 3 + 2 = 5 изделий. В момент времени 5 они сделали только 2 + 1 = 3.

Пример 2
Ввод:
times = [4]
target = 3

Ожидаемый вывод:
expected = 12
Ввод:
std::vector<long long> times = {4};
long long target = 3;

Ожидаемый вывод:
long long expected = 12;
Ввод:
long[] times = new long[] {4};
long target = 3;

Ожидаемый вывод:
long expected = 12;

Пояснение

Одна из машин завершает своё третье изделие за 3 × 4 = 12 секунд.

Ссылки

Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.

Учитесь у других

Решения сообщества

Пока нет опубликованных решений. Решите задание, чтобы поделиться первым.