Задания
Версия для печати и копирования в MS Word
Тип 26 № 59853
i

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

Фор­мат вход­ных дан­ных.

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

Фор­мат вы­ход­ных дан­ных.

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

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

За­да­ние 26

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

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

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

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

7

10 50

20 60

70 20

40 20

50 10

10 10

20 15

Для при­ведённого при­ме­ра от­ве­том яв­ля­ет­ся пара чисел: 6; 50.

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

 

Ответ:

Спрятать решение

Ре­ше­ние.

При­ведём ре­ше­ние на языке Python.

f = open("26_59853.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 = 0

j = 0

maxg = 0

while i < n:

if g[i]<=k[j]:

if j == 0:

maxg = g[i]

i += 1

j += 1

else:

i += 1

print(j,maxg)

 

Ответ: 18748  99999.

 

При­ведём ре­ше­ние Ильи Кры­ло­ва на языке Python.

data = open('26_59853.txt').readlines()[1:]

packages = []

containers = []

for item in data:

item = [int(i) for i in item.split()]

packages.append(item[0])

containers.append(item[1])

counter = 0

maxPackage = -1

for package in packages:

for i in range(len(containers)):

if containers[i] > package:

containers[i] -= package

counter += 1

maxPackage = max(maxPackage, package)

break

print(counter, maxPackage)


Аналоги к заданию № 59822: 59853 Все

Источник: ЕГЭ по ин­фор­ма­ти­ке 20.06.2023. Ос­нов­ная волна. Даль­ний Во­сток