中級 0件解決済み 正答率0%

Factory Production Time

Find the earliest time parallel machines can finish a target number of items.

All machines start at time 0 and work independently. A machine with time t finishes one item after t seconds, another after 2t seconds, and so on. Find the earliest whole second when their combined production reaches the target.

Implement factory_machines(times, target).

Input

times: Seconds needed for one item on each machine.

target: The number of completed items required.

Output

Return the minimum elapsed seconds.

制約

1 ≤ machines ≤ 200,000. Each time and the target are between 1 and 1,000,000,000. The answer fits signed 64-bit.

例

例 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;

解説

At time 6 the machines have made 3 + 2 = 5 items. At time 5 they have made only 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;

解説

One machine completes its third item at 3 × 4 = 12 seconds.

参考資料

この課題はCodeUtility用に調整されています。上記の説明と制約に従ってください。

他の人の解答から学ぶ

コミュニティの解答

まだ公開された解答がありません。この課題を解いて最初の解答を共有しましょう。