Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 09 февраля 2026 03:37

Рыцари принесли принцессе подарки. Воинов было очень много, поэтому принцесса принимала рыцарей по K человек в день (в последний день их могло остаться меньше). Есть количество рыцарей N и последовательность из N чисел — подарки, которые принёс каждый из N рыцарей. В последней строке записано число K. Составь список с общим количеством подарков, полученных в каждый из дней по порядку, и выведи его. Ввод Вывод 5 12 3 7 35 1 3 22

Ответ нейросети

09 февраля 2026 03:37

Цель: понять задачу и получить пошаговое решение.

Дано:

  • N — количество рыцарей.
  • далее идут N чисел — подарки каждого рыцаря по очереди.
  • в последней строке (или последнем числе) число K — принимают по K человек в день (в последний день может остаться меньше).

Задача: разбить последовательность подарков на группы длиной K (последняя группа может быть короче) и посчитать сумму подарков в каждой группе. Вывести получившийся список сумм по порядку.

Пошаговое решение:

  1. Прочитать входные данные: сначала N, затем N чисел подарков, затем K.
  2. Разбить список подарков на блоки по K элементов: для i = 0, K, 2K, … до конца.
  3. Для каждого блока посчитать сумму его элементов и сохранить в результативный список.
  4. Вывести элементы этого списка через пробел.

Сложность: O(N) по времени, O(ceil(N/K)) по памяти.

Пример на заданных числах:

  • N = 5
  • подарки: [12, 3, 7, 35, 1]
  • K = 3

Блоки по K:

  • Блок 1: [12, 3, 7] → сумма = 22
  • Блок 2: [35, 1] → сумма = 36

Итоговый список сумм по дням: [22, 36] Окружение вывода: обычно через пробел. Для примера вывод будет: 22 36

Если нужно привести именно код на Python (для проверки на экзамене), можно использовать такой подход:

def per_day_sums(nums, K): days = [] for i in range(0, len(nums), K): days.append(sum(nums[i:i+K])) return days

Пример использования

Вход: N, затем N чисел, затем K

data = [N, gifts..., K]

N = data[0]; gifts = data[1:1+N]; K = data[1+N]

result = per_day_sums(gifts, K)

print(" ".join(map(str, result)))

В вашем конкретном примере вывод будет: 22 36

Если же система ожидает другое оформление вывода (например, одну цифру), корректируйте вывод в соответствии с требованиями теста. Но с точки зрения задачи — именно сумма по каждому дню в порядке: 22, затем 36.

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

Рыцари принесли принцессе подарки. Воинов было очень много, поэтому принцесса принимала рыцарей по K человек в день (в последний день их могло остаться меньше). Есть количество рыцарей N и последовательность из N чисел — подарки, которые принёс каждый из N рыцарей. В последней строке записано число K. Составь список с общим количеством подарков, полученных в каждый из дней по порядку, и выведи его. Ввод Вывод 5 12 3 7 35 1 3 22
Цель: понять задачу и получить пошаговое решение. Дано: - N — количество рыцарей. - далее идут N чисел — подарки каждого рыцаря по очереди. - в последней строке (или последнем числе) число K — принимают по K человек в день (в последний день может остаться меньше). Задача: разбить последовательность подарков на группы длиной K (последняя группа может быть короче) и посчитать сумму подарков в каждой группе. Вывести получившийся список сумм по порядку. Пошаговое решение: 1) Прочитать входные данные: сначала N, затем N чисел подарков, затем K. 2) Разбить список подарков на блоки по K элементов: для i = 0, K, 2K, … до конца. 3) Для каждого блока посчитать сумму его элементов и сохранить в результативный список. 4) Вывести элементы этого списка через пробел. Сложность: O(N) по времени, O(ceil(N/K)) по памяти. Пример на заданных числах: - N = 5 - подарки: [12, 3, 7, 35, 1] - K = 3 Блоки по K: - Блок 1: [12, 3, 7] → сумма = 22 - Блок 2: [35, 1] → сумма = 36 Итоговый список сумм по дням: [22, 36] Окружение вывода: обычно через пробел. Для примера вывод будет: 22 36 Если нужно привести именно код на Python (для проверки на экзамене), можно использовать такой подход: def per_day_sums(nums, K): days = [] for i in range(0, len(nums), K): days.append(sum(nums[i:i+K])) return days # Пример использования # Вход: N, затем N чисел, затем K # data = [N, gifts..., K] # N = data[0]; gifts = data[1:1+N]; K = data[1+N] # result = per_day_sums(gifts, K) # print(" ".join(map(str, result))) В вашем конкретном примере вывод будет: 22 36 Если же система ожидает другое оформление вывода (например, одну цифру), корректируйте вывод в соответствии с требованиями теста. Но с точки зрения задачи — именно сумма по каждому дню в порядке: 22, затем 36.