Problème
Afficher l’original (anglais)Toutes les machines démarrent à l’instant 0 et fonctionnent indépendamment. Une machine avec un temps t termine un objet après t secondes, un autre après 2t secondes, etc. Trouvez la première seconde entière où leur production cumulée atteint l’objectif.
Implémentez factory_machines(times, target).
Entrée
times : Nombre de secondes nécessaires pour fabriquer un objet sur chaque machine.
target : Nombre d’objets finis requis.
Sortie
Retournez le nombre minimal de secondes écoulées.
Contraintes
1 ≤ machines ≤ 200 000. Chaque temps et l’objectif sont compris entre 1 et 1 000 000 000. La réponse tient dans un entier signé 64 bits.
Exemples
Entrée :
times = [2, 3]
target = 5
Sortie attendue :
expected = 6
Entrée :
std::vector<long long> times = {2, 3};
long long target = 5;
Sortie attendue :
long long expected = 6;
Entrée :
long[] times = new long[] {2, 3};
long target = 5;
Sortie attendue :
long expected = 6;
Explication
À la seconde 6, les machines ont produit 3 + 2 = 5 objets. À la seconde 5, elles n’en ont produit que 2 + 1 = 3.
Entrée :
times = [4]
target = 3
Sortie attendue :
expected = 12
Entrée :
std::vector<long long> times = {4};
long long target = 3;
Sortie attendue :
long long expected = 12;
Entrée :
long[] times = new long[] {4};
long target = 3;
Sortie attendue :
long expected = 12;
Explication
Une machine termine son troisième objet à 3 × 4 = 12 secondes.
Références
Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.