C++; Pascal; Java;Python
Серик и Берик собрали все яблоки в саду. Однако, сезон яблок подходит к концу и в саду осталось очень мало яблок. Вместе они собрали всего N корзинок с яблоками. По этой причине, ребята решают поделить все собранные яблоки. Однако, Серику не понравилось предложение Берика поделить все количество яблок поровну. В этом случае кому-то может достаться больший вес яблок, так как, у каждого яблока разный вес. Серик предложил поделить яблоки, в каждой корзинке, с помощью монетки.
Берик и Серик выложили яблоки из каждой корзинки перед собой в ряд. Таким образом, получилось N рядов с корзинками. Для каждого ряда, ребята поочередно бросают монетку: если монетка падает решкой, то бросивший ее мальчик берет первое яблоко в ряду. Если выпадает орел, то берут последнее яблоко в ряду.
Каков будет общий вес яблок из каждой который наберет Серик, если он бросает монетку первым?

15 Окт 2019 в 14:41
168 +1
0
Ответы
1

Для решения этой задачи нам нужно учитывать вес каждого яблока в каждой корзинке.

Пусть веса яблок в каждой корзине заданы как массивы weights[N], где weights[i] - массив весов яблок в i-ой корзине.

Для каждой корзины построим массив сумм весов яблок prefixSum[N], где prefixSum[i] - сумма весов яблок до i-ого яблока в корзине. То есть prefixSum[i] = prefixSum[i-1] + weights[i].

Затем, для каждой корзины, если количество яблок N четное, то суммарный вес яблок, которые возьмет Серик, будет равен prefixSum[N]/2, так как он бросает монетку первым и будет брать первое яблоко в каждом ряду.

Если количество яблок N нечетное, то суммарный вес яблок, которые возьмет Серик, будет равен prefixSum[N]//2 + weights[N//2], так как он возьмет яблоко в середине суммы яблок.

Таким образом, общий вес яблок из каждой корзины, который наберет Серик, будет сумма весов, рассчитанных как описано выше, для каждой корзины.

19 Апр 2024 в 11:04
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир