Giriş
Sizden kredi talep eden bir arkadaşınız var ve bundan sıkılıyorsunuz. Bugün yine kredi almaya geldi. Teklifini geri çevirmek yerine harika bir fikir elde edersiniz: ona mümkün olduğunca çok para / fatura vererek arkadaşınızı troll edin.
Meydan okuma
Girdi olarak alacaksınız: arkadaşınızın borç istediği para miktarı ve sahip olduğunuz para / fatura miktarı. Bu meydan okuma için olası mezhepler 20,00 $, 10,00 $, 5,00 $, 2,00 $, 1,00 $, 0,25 $, 0,10 $, 0,05 $ ve 0,01 $ 'dır. Girdi örneği, 5.67, [5, 3, 4, 5, 5, 9, 8, 1, 2]arkadaşınız 5.67 $ istiyorsa ve 5 $ 20 fatura, 3 $ 10 fatura vb. Varsa. Çıktınız, arkadaşınıza mümkün olduğunca fazla metal / kağıt / plastik veren madeni para / fatura miktarı olacaktır.
Arkadaşınıza istediği parayı tam olarak vermek mümkün değilse, ona ödeyebileceğiniz en yakın parayı istediği miktardan daha fazla verin. Örneğin, arkadaşınız 0,07 $ istiyorsa [0, 0, 0, 0, 0, 2, 4, 2, 0], ancak sadece 2 $ 0,05 jeton verin (1 $ 0,10 değil, çünkü bu ona mümkün olduğunca fazla jeton vermeyecektir!).
Arkadaşınız sizden daha fazla para istiyorsa, ona tüm paranızı verin (ve dua etmek için bir şey almanıza gerek kalmayacak).
Test senaryoları
Input: 6.54, [9, 8, 7, 6, 5, 4, 3, 2, 4]
Output: [0, 0, 0, 1, 4, 1, 2, 1, 4]
Input: 2, [0, 1, 0, 0, 0, 0, 0, 0, 0]
Output: [0, 1, 0, 0, 0, 0, 0, 0, 0]
Input: 9999, [0, 0, 0, 0, 0, 0, 0, 0, 1]
Output: [0, 0, 0, 0, 0, 0, 0, 0, 1]
Input: 0, [99, 99, 99, 99, 99, 99, 99, 99, 99]
Output: [0, 0, 0, 0, 0, 0, 0, 0, 0]
Bu kod golf çok kısa kod kazanır.
2.00ve20.00ama hayır0.2ya da0.02:(