Вы - рыба в пруду, которая должна выжить, поедая другую рыбу. Вы можете есть только рыбу того же размера или меньше, чем вы сами. Вы должны создать программу, которая принимает мелкую рыбу в качестве отсортированного ввода. Исходя из этого, вы должны определить, сколько рыбы вы можете съесть и, в конечном итоге, вырастете до размера.
Таблица размеров
+--------------+--------------+--------------+--------------+
| | Amount extra | Total size 1 | Increase to |
| Current size | needed for | fish | size |
| | next size | | |
+--------------+--------------+--------------+--------------+
| 1 | 4 | 4 | 2 |
+--------------+--------------+--------------+--------------+
| 2 | 8 | 12 | 3 |
+--------------+--------------+--------------+--------------+
| 3 | 12 | 24 | 4 |
+--------------+--------------+--------------+--------------+
| 4 | 16 | 40 | 5 |
+--------------+--------------+--------------+--------------+
| 5 | 20 | 60 | 6 |
+--------------+--------------+--------------+--------------+
| 6 | 24 | 84 | 7 |
+--------------+--------------+--------------+--------------+
правила
- Ваш размер начинается с 1
- Входные данные мелководья будут содержать целые числа рыб в диапазоне от 0 до 9
- 0 = водоросли и не помогут вам накормить.
- Целое число рыбы представляет размер рыбы (1-9).
- Вы можете есть только рыбу того же размера или меньше, чем вы сами.
- Вы можете есть рыбу в любом порядке по вашему выбору, чтобы максимизировать свой размер.
- Вы можете съесть каждую рыбу только один раз.
- Чем больше рыбы вы едите, тем быстрее вы растете. Рыба размера 2 равна двум рыбам размера 1, рыба размера 3 равна трем рыбам размера 1 и так далее.
- Ваш размер увеличивается на единицу каждый раз, когда вы достигаете суммы ниже.
Возвращает целое число максимально возможного размера
Примеры
"11112222" => 3
4 fish size 1 increases to 2, 4 size 2 makes you 3
"111111111111" => 3
4 fish size 1 increases to 2, 8 size 1 makes you 3
Самый короткий код (считая в байтах) для этого на любом языке, на котором выигрывают числа.
5,6
или 6,6
из последнего примера Марка и получить размер 13; все же удалите 5,5
вместо этого, и можно достичь только пятого размера.