Тема 26. Обработка целочисленной информации с использованием сортировки

26.01 Архив пользовательских файлов

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела обработка целочисленной информации с использованием сортировки
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#16459

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

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение

Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!