Alle Herausforderungen
Mittel 0 gelöst 0% Erfolgsquote

Fertigungszeit in der Fabrik

Finde den frühesten Zeitpunkt, zu dem parallele Maschinen eine Zielanzahl von Produkten fertigstellen können.

Alle Maschinen starten bei Zeit 0 und arbeiten unabhängig voneinander. Eine Maschine mit Zeit t stellt ein Produkt nach t Sekunden fertig, das nächste nach 2t Sekunden, und so weiter. Finde die früheste ganze Sekunde, zu der ihre kombinierte Produktion das Ziel erreicht.

Implementiere factory_machines(times, target).

Eingabe

times: Sekunden, die jede Maschine für ein Produkt benötigt.

target: Die benötigte Anzahl fertiger Produkte.

Ausgabe

Gib die minimale verstrichene Zeit in Sekunden zurück.

Einschränkungen

1 ≤ Maschinen ≤ 200.000. Jede Zeit und das Ziel liegen zwischen 1 und 1.000.000.000. Die Antwort passt in einen vorzeichenbehafteten 64-Bit-Wert.

Beispiele

Beispiel 1
Eingabe:
times = [2, 3]
target = 5

Erwartete Ausgabe:
expected = 6
Eingabe:
std::vector<long long> times = {2, 3};
long long target = 5;

Erwartete Ausgabe:
long long expected = 6;
Eingabe:
long[] times = new long[] {2, 3};
long target = 5;

Erwartete Ausgabe:
long expected = 6;

Erläuterung

Nach 6 Sekunden haben die Maschinen 3 + 2 = 5 Produkte hergestellt. Nach 5 Sekunden sind es nur 2 + 1 = 3.

Beispiel 2
Eingabe:
times = [4]
target = 3

Erwartete Ausgabe:
expected = 12
Eingabe:
std::vector<long long> times = {4};
long long target = 3;

Erwartete Ausgabe:
long long expected = 12;
Eingabe:
long[] times = new long[] {4};
long target = 3;

Erwartete Ausgabe:
long expected = 12;

Erläuterung

Eine Maschine stellt ihr drittes Produkt nach 3 × 4 = 12 Sekunden fertig.

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.