|
Сбор черники
(Время: 1 сек. Память: 16 Мб Сложность: 17%)
В этой задаче необходимо найти три рядом расположенных куста таких, что сумма количества ягод на них максимальна. При этом необходимо учитывать то, что грядка круглая, и поэтому можно взять, например, последний и два первых куста. Заметим также, что число ягод невелико и для его хранения можно использовать 32-битный целочисленный тип данных (longint в языке Pascal, int в языках C и Java).
Решение состоит в том, чтоб последовательно перебрать первый куст из тех, что мы берем, посчитать сумму количества ягод на нем и следующих двух. Из таких сумм необходимо найти максимум.
Этот алгоритм работает за линейное от n время. Один из способов обрабатывать то, что грядка является круглой, использовать массив длиной n+2 и в последние два элемента записать первые два.
| |