Kanada'da, kuruş artık dolaşmıyor. Nakit ödemeler en yakın 5 sente yuvarlanır.
Para, satın alımları bölerek tasarruf edilebilir. Örneğin, iki 1,02 dolarlık öğe 2,05 dolara mal olur, ancak öğeleri ayrı satın alımlarda satın alırken, her bir fiyat toplam 2,00 dolar için 1,00 dolara yuvarlanır. Bununla birlikte, her biri 1.03 $ 'dan iki ürün satın alırken, bunları tek bir satın alımda satın almak daha iyidir.
Para biriktirmenin bir başka yolu, kredi ödemeleri yuvarlanmadığından, yuvarlama uygun olmadığında kredi kartı kullanmaktır. İki $ 1.04 ürün istiyorsak, satın alma işlemlerini nasıl böldüğümüzden bağımsız olarak toplam fiyat 2.10 $ 'a kadar yuvarlanır. Bu nedenle, bu ürünler için kredi kartıyla ödeme yapmalıyız.
Maddelerin fiyat listesini sent olarak tamsayı olarak kabul eden ve her biri nakit veya kredi ile bir dizi satın alma yoluyla elde edilebilen ürünler için mümkün olan en düşük toplam fiyatı (sent olarak) veren bir işlev veya program yazın.
En kısa kod kazanır.
Test senaryoları
[] : 0
[48] : 48
[92, 20] : 110
[47, 56, 45] : 145
[55, 6, 98, 69] : 225
[6, 39, 85, 84, 7] : 218
[95, 14, 28, 49, 41, 39] : 263
[92, 6, 28, 30, 39, 93, 53] : 335
[83, 33, 62, 12, 34, 29, 18, 12] : 273
[23, 46, 54, 69, 64, 73, 58, 92, 26] : 495
[19, 56, 84, 23, 20, 53, 96, 92, 91, 58] : 583
[3, 3, 19, 56, 3, 84, 3, 23, 20, 53, 96, 92, 91, 58, 3, 3] : 598
[2, 3, 4, 4, 4, 4, 4] : 19
s.reduce(:+)
(normalde parantezlere ihtiyacınız yok, ancak sizin durumunuzda ...) ve satır içim
olarak değiştirebilirsiniz.