ALEXMATH

Информатика. ЕГЭ

Задания для подготовки

Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников

Перейти к заданиям

Задание 26. Информатика. ЕГЭ 2026. Апробация. 04.03.2026

Просмотры: 2516
Изменено: 7 августа 2026

На грузовом космическом корабле необходимо перевезти на МКС контейнеры, имеющие одинаковые габариты и разные массы. Общая масса всех этих контейнеров превышает грузоподъёмность космического корабля. Количество грузовых мест на космическом корабле не меньше числа контейнеров, назначенных к перевозке.

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

Входные данные

В первой строке входного файла находятся два числа: \(S\) — грузоподъёмность космического корабля (натуральное число, не превышающее \(100~000)\) и \(N\) — количество контейнеров (натуральное число, не превышающее \(10~000).\) В следующих \(N\) строках находятся значения масс контейнеров, требующих транспортировки на МКС (все числа натуральные, не превышающие \(100),\) каждое в отдельной строке.

Выходные данные

Два целых неотрицательных числа: минимальное количество контейнеров, которые нельзя перевезти на МКС за один рейс, и максимальная суммарная масса оставшихся на космодроме грузов.

Типовой пример организации данных во входном файле

\(100 \,\, 4\)
\(80\)
\(30\)
\(50\)
\(40\)

При таких исходных данных можно транспортировать за один раз максимум два контейнера. Возможные массы этих двух контейнеров — \(30\) и \(40,\) \(30\) и \(50\) или \(40\) и \(50.\) Контейнеры с массами \(50\) и \(80\) могут быть не перевезены. Ответом для приведённого примера является пара чисел \(2\) и \(130.\)

Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемых файлов.

Решение:

Python


fd = open('26.txt')
S, N = map(int, fd.readline().strip().split())
cargo = [int(x) for x in fd]
cargo.sort()

q, total, rest = 0, 0, 0
for c in cargo:
    if total + c <= S:
        total += c
        q += 1
    else:
        rest += c
print(N - q, rest)

Ответ: \(7347 \,\, 472188\)

Обсуждение задания

Здесь пока нет ни одного комментария. Будьте первым!

kege1
kege2
kege3
Новый тренажёр-эмулятор
Станции КЕГЭ

Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене.

Новое видео

Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»

Поддержать автора сайта!

Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.

Совершая донат, вы соглашаетесь с Условиями использования

Расписание пробников Статграда в 2026/27 учебном году