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

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

Задача 1#63364

Игорю необходимо перенести файлы с одного компьютера на другой при помощи внешнего жесткого диска.

Объем диска может быть меньше, чем требуется для переноса всех файлов за один раз. Свободный объем на диске и размеры файлов известны. Кроме того, на компьютере есть важные файлы, перенести которые необходимо в первую очередь.

По заданной информации об объеме файлов на компьютере и свободном объеме на диске определите минимальное количество переносов файлов на внешний жесткий диск, за которое удастся перенести все важные файлы, а также максимальное количество неважных файлов, перенесенных за данное количество переносов, при условии, что перенесены все важные файлы.

Входные данные. В первой строке входного файла находятся два числа: S - размер свободного места на диске (натуральное число, не превышающее 100 000) и N - количество файлов, которые надо перенести (натуральное число, не превышающее 10 000). В следующих N строках находятся значения объемов указанных файлов (все числа натуральные, не превышающие 1000) и значимость файла в виде буквы. A - означает, что файл значимый, B что нет. Информация о каждом файле размещена в отдельной строке.

Выходные данные. Запишите в ответе два числа: сначала наименьшее количество переносов файлов, затем максимальное количество перенесенных файлов В, при условии, что перенесены все файлы А.

Вложения к задаче
Показать ответ и решение

Открываем программу Excel и загружаем в неё наш файл. С помощью настраиваемой сортировки, отсортируем сначала файлы по столбцу В (по важности от А до В), а затем по столбцу А по возрастанию. Теперь начнём суммировать размеры файлов важности А. Сделаем это в столбце C  : в ячейку C1  продублируем значение ячейки A1  , в ячейку C2  запишем формулу = C1 +A2  и растянем её вниз. Теперь ищем строку, значение которой примерно равно объему свободного пространства. Последний вмещаемый файл лежит в строке 2062. Это будет первый перенос. Оставшееся место для файлов В равно 753.

Приступим ко второму переносу. Действуем аналогично и считаем объем оставшихся файлов А. Для этого в ячейку C2063  поместим значение ячейки A2063  . Все оставшиеся файлы типа А смогут быть перенесены, поэтому количество переносов равно 2. Оставшееся место для переносов файлов В во втором заходе равно 770096.

Просуммируем значения столбца В и найдём строку, где сумма примерно равна 753, для того, чтобы вместить их в первый перенос. Это будет строка 2292 и таких файлов В - 57. В ячейку C2293  помещаем значение ячейки A2293  и снова считаем объем файлов В. Ищем число, близкое к 770096. Оно стоит в строке 4070 и равно 769816. Значит, количество файлов, вмещаемых во второй перенос равно 1778. Общее количество файлов типа В - 1778+ 57 = 1835  .

Ответ: 2 1835

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

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

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

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

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

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

Бесплатное обучение
в Школково

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

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

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

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

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

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

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

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