Ошибка.
Попробуйте повторить позже
Задание выполняется с использованием прилагаемых файлов
Робот складывает монеты в ящики. Задача робота заполнить как можно большее количество ящиков монетами в количестве штук. Роботу по конвейеру поступают корзины с монетами. В каждой корзине может быть от до монет. Известно, что робот может высыпать в ящик содержимое не более двух корзин. Корзина должна быть высыпана в ящик полностью. Необходимо определить, сколько ящиков можно заполнить монетами так, чтобы в каждом из них было ровно по монет.
Входные данные
В первой строке записано число – количество корзин, в каждой из последующих строк число – количество монет в каждой корзине.
Выходные данные
В ответе запишите одно число – количество ящиков, заполненными монетами.
Пример организации исходных данных во входном файле:
При таких исходных данных можно заполнить только ящика по монет + и + . Ответ: .
Решение 1 (Excel/LibreOffice)
Откроем текстовый документ, скопируем значения и перенесем их в Excel или LibreOffice.
Посчитаем корзины с определенным количеством монет, для этого заполним ячейки столбца цифрами от 1 до 99, и
воспользуемся функцией СЧЁТЕСЛИ. Запишем в ячейку следующую формулу =СЧЁТЕСЛИ(A1:A10000;B1),
скопируем её на свободные клеточки столбца. Для удобства перенесем получившуюся таблицу на новый лист.
Разделим данные таблицы на два столбца, перенесем значения : во второй столбец и воспользуемся
настраиваемой сортировкой по убыванию. Посчитаем количество ящиков, которое можно сформировать. Для
этого выберем минимум из количества корзин, в которых содержится 1 и 99 монет или 2 и 98 монет и тд.
Заметим, что корзина с 50 монетами встречается четное количество раз, значит можно сформировать в два
раза меньше ящиков, чем общее количество корзин. Общее количество получившихся ящиков равно 4653.
Решение 2 (Python)
f = open("26.txt") n=int(f.readline()) array=[int(n) for n in f.readlines()] array.sort() counter = 0 for i in range(0, n - 1): for j in range(n - 1, i, -1): if (array[i] + array[j] == 100 and array[i] != 0 and array[j] != 0): counter += 1 array[j] = 0 break print(counter)
Специальные программы
Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!
Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.
Бесплатное обучение
в Школково
Для детей ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Брянской областей, а также школьникам, находящимся в пунктах временного размещения Крыма обучение на платформе бесплатное.
Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».
Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ или олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!
Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!