Задача к ЕГЭ по информатике на тему «Архив пользовательских файлов» №2

Дед Мороз раз в год создает склад подарков для детей. Однако кол-во свободных мест для подарков на складе, куда он помещает все свои подарки может оказаться меньше, чем суммарное кол-во подарков. Известно, сколько подарков получит каждый конкретный ребенок. По заданной информации о кол-ве подарков для каждого ребенка и свободных местах на складе определите максимальное кол-во детей, чьи подарки поместятся на склад, а также максимальное кол-во подарков, который получит конкретный ребенок, при условии, что на складе кол-во детей, чьи подарки уже хранятся на складе, не убавится. В ответе сначалa запишите кол-во детей, а затем, без разделительных знаков, запишите кол-во подарков.

На вход программе подается два числа: N — кол-во свободных мест для подарков и M — кол-во детей, а затем M чисел, где каждое число — кол-во подарков для ребенка.

В ответ запишите результат выполнения программы для таких входных данных:

120 6

20

10

30

25

45

35

n,m = map(int,input().split())
 
a = []
 
for i in range(m):
 
    a.append(int(input()))
 
a.sort()
 
s = 0
 
counter = 0
 
maxim = -1
 
for i in range(m):
 
    if s + a[i] > n:
 
        n -= a[i-1]
 
        maxim = a[i-1]
 
        for j in range(i,m):
 
            if s + a[j] <= n:
 
                maxim = a[j]
 
            else:
 
                s += a[j-1]
 
                break
 
        break
 
    elif s + a[i] == n:
 
        maxim = a[i]
 
        counter += 1
 
        break
 
    else:
 
        s += a[i]
 
        counter += 1
 

 
print(counter,maxim)
 

 

Ответ: 535
Оцените статью
Я решу все!