Problema
Mostra originale (inglese)Tutte le macchine partono al tempo 0 e lavorano indipendentemente. Una macchina con tempo t completa un oggetto dopo t secondi, un altro dopo 2t secondi, e così via. Trova il primo secondo intero in cui la loro produzione combinata raggiunge il target.
Implementa factory_machines(times, target).
Input
times: Secondi necessari per un oggetto su ciascuna macchina.
target: Il numero di oggetti completati richiesto.
Output
Restituisci il numero minimo di secondi trascorsi.
Vincoli
1 ≤ macchine ≤ 200.000. Ogni tempo e il target sono compresi tra 1 e 1.000.000.000. La risposta rientra in un intero con segno a 64 bit.
Esempi
Input:
times = [2, 3]
target = 5
Output atteso:
expected = 6
Input:
std::vector<long long> times = {2, 3};
long long target = 5;
Output atteso:
long long expected = 6;
Input:
long[] times = new long[] {2, 3};
long target = 5;
Output atteso:
long expected = 6;
Spiegazione
Al tempo 6 le macchine hanno prodotto 3 + 2 = 5 oggetti. Al tempo 5 hanno prodotto solo 2 + 1 = 3.
Input:
times = [4]
target = 3
Output atteso:
expected = 12
Input:
std::vector<long long> times = {4};
long long target = 3;
Output atteso:
long long expected = 12;
Input:
long[] times = new long[] {4};
long target = 3;
Output atteso:
long expected = 12;
Spiegazione
Una macchina completa il suo terzo oggetto a 3 × 4 = 12 secondi.
Riferimenti
Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.