Присоединиться

11 класс·высокий уровень

В морском порту готовятся к перевозке грузов разной массы и формы, для

Условие

В морском порту готовятся к перевозке грузов разной массы и формы, для этого каждый груз помещают в отдельный контейнер. Контейнеры имеют разную грузоподъемность (некоторые контейнеры могут иметь одинаковую грузоподъёмность). Из-за компьютерного сбоя из общего количества контейнеров для перевозки выделили первые попавшиеся контейнеры. Напишите программу, которая поможет посчитать максимальное количество грузов, которое можно отправить в выделенных контейнерах, и максимальную массу одного отправленного груза.

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

Формат выходных данных:Два целых неотрицательных числа: максимальное количество грузов, которое можно отправить в выделенных контейнерах и максимальную массу одного отправленного груза.

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

Задание 26В первой строке входного файла находится число N — количество грузов и количество контейнеров на складе (натуральное число, не превышающее 20 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 100 000: массу груза и максимальную массу груза, который можно поместить в контейнер.

Выходные данныеДва целых неотрицательных числа: максимальное число грузов и максимальную массу груза.

Типовой пример организации входных данных:710 5020 6070 2040 2050 1010 1020 15Для приведённого примера ответом является пара чисел: 6; 50.Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемых файлов. Ответ:

Ответ

Ответ и полный разбор откроются после входа

Посмотреть ответ

Решение по шагам

  1. Как рассуждать

    Решение. Приведём решение на языке Python.f = open("26_59822.txt")s = f.readlines()n = int(s[0])g = []k = []for i in range(1,n+1): a, b = map(int,s[i].split()) g.append(a) k.append(b)g.sort(reverse=True)k.sort(reverse=True)i = 0j = 0maxg = 0while i < n: if g[i]<=k[j]: maxg = max(maxg, g[j]) i += 1 j += 1 else: i += 1print(j,maxg)

Осталось ещё 1 шаг

  1. Приведём решение Юрия Красильникова на языке…

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Обработка целочисленной информации»

В морском порту готовятся к перевозке грузов разной массы и формы, для — решение с объяснением | Lom Ai