Sie werden an einer Gameshow teilnehmen. Eine der Herausforderungen sieht folgendermaßen aus:
- Der erste Raum enthält eine große Anzahl identischer Kugeln.
- Der zweite Raum enthält eine Reihe von Rutschen, von denen jede mit einem Sensor ausgestattet ist, der die Anzahl der darin platzierten Kugeln misst. Ein Ball, der in eine Rutsche gelegt wird, kann dann nicht geborgen werden.
- Jeder Schacht wird ausgelöst, nachdem eine bestimmte Anzahl von Bällen (seine Auslöseanzahl ) in ihn gelegt wurde. Wenn es ausgelöst wird, blinkt es, macht ein Geräusch und lässt Sie keinen Zweifel daran, dass es ausgelöst hat.
- Sie müssen
N
Rutschen auslösen , um mit der nächsten Herausforderung fortzufahren. - Sie kennen die Anzahl der Auslöser, aber nicht die Entsprechung zwischen Anzahl und Rutsche.
- Sie haben eine Möglichkeit, Bälle aus dem ersten Raum in den zweiten zu werfen. Sobald Sie einen Ball in eine Rutsche gelegt haben, können Sie nicht mehr Bälle einwerfen.
- Jeder Ball, den Sie nehmen, zieht Geld vom Jackpot ab.
Natürlich möchten Sie sicherstellen, dass Sie die Herausforderung bestehen, aber Sie möchten den Jackpot-Geldverlust minimieren. Schreiben Sie ein Programm, eine Funktion, ein Verb usw., um festzustellen, wie viele Bälle Sie benötigen.
Beispiel
Angenommen, die Anzahl der Auslöser ist 2, 4 und 10, und Sie müssen 2 Rutschen auslösen, um zu passen. Es gibt eine Strategie, mit 10 Bällen zu passen: Platzieren Sie bis zu 4 Bälle in der ersten Rutsche, bis zu 4 Bälle in der zweiten Rutsche und bis zu 4 Bälle in der dritten Rutsche. Da einer der drei Schächte nach nur 2 Bällen auslöst, verwenden Sie nur insgesamt 10. Es gibt keine Strategie, die garantiert mit weniger als 10 funktioniert, sodass die Ausgabe korrekt ist.
Eingang
Der Eingang besteht aus einem Array von ganzzahligen Triggerzählern und einer Ganzzahl, die die Anzahl der auszulösenden Rutschen angibt. Sie können die beiden Eingaben in beliebiger Reihenfolge vornehmen und bei Bedarf eine dritte Eingabe mit der Länge des Arrays vornehmen.
Sie können davon ausgehen, dass alle Eingänge größer als Null sind und die Anzahl der zu triggernden Rutschen die Anzahl der Rutschen nicht überschreitet.
Sie können auch davon ausgehen, dass die Zählungen sortiert sind (aufsteigend oder absteigend), solange Sie dies in Ihrer Antwort klar angeben.
Ausgabe
Die Ausgabe sollte eine einzelne Ganzzahl sein, die die Anzahl der Bälle angibt, die für die optimale Strategie erforderlich sind.
Testfälle
Format: N counts solution
1 [2 4 10] 6
2 [2 4 10] 10
3 [2 4 10] 16
1 [3 5 5 5 5 5 5 5 5 5] 5
2 [1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 8 11] 8
2 [1 2 6 6 6 6 6 6 6 10] 16
2 [1 2 3 3 4 4 6 6 6 11] 17
3 [1 2 3 4 5 5 6] 16
3 [2 4 7 7 7 7 7 7 7] 21
5 [1 2 2 3 3 3 3 3 5 9 9 11] 27
2 [5 15 15] 25
1 [4 5 15] 10
3 [1 4 4 4] 10
2 [1 3 4] 6
2 [1 3 3 8] 8