ゲームショーに参加します。課題の1つは次のように機能します。
- 最初の部屋には、多数の同一のボールが含まれています。
- 2番目の部屋には、一連のシュートがあり、各シュートには、ボールがいくつ置かれたかを数えるセンサーがあります。シュートに置かれたボールは回収できません。
- 各シュートは、一定数のボール(トリガーカウント)が投入された後にトリガーされます。トリガーされると、ライトが点滅し、ノイズが発生し、トリガーしたことは間違いありません。
N
次のチャレンジに進むには、シュートをトリガーする必要があります。- トリガーのカウントは知っていますが、カウントとシュートの対応はわかりません。
- 最初の部屋から2番目の部屋にボールを移動する1つの機会があります。ボールをシュートに入れると、それ以上ボールを取り戻すことはできません。
- あなたが取る各ボールは、ジャックポットからお金を差し引きます。
明らかに、あなたはあなたが挑戦に合格することを確実にしたいが、大当たりのお金の損失を最小限に抑えたい。プログラム、関数、動詞などを書いて、必要なボールの数を教えてください。
例
トリガーカウントが2、4、および10で、通過するために2つのシュートをトリガーする必要があるとします。10個のボールを渡す戦略があります。最初のシュートに最大4個のボール、2番目のシュートに最大4個のボール、3番目のシュートに最大4個のボールを配置します。3つのシュートの1つは2つのボールだけでトリガーするため、合計10を使用するだけです。10未満で動作することが保証されている戦略はないため、正しい出力になります。
入力
入力は、整数トリガーカウントの配列と、トリガーするシュートの数を示す整数で構成されます。どちらの順序でも2つの入力を取ることができ、必要に応じて、配列の長さで3番目の入力を取ることができます。
すべての入力がゼロよりも大きく、トリガーする必要があるシュートの数がシュートの数を超えないと仮定できます。
また、回答で明確に述べている限り、カウントがソートされている(昇順または降順)と想定することもできます。
出力
出力は、最適な戦略に必要なボールの数を示す単一の整数でなければなりません。
テストケース
フォーマット: 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