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

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

Задача 1#87921

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

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

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

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

Запишите в ответе два числа через пробел: сначала наибольшее число пользователей, чьи файлы могут быть помещены в архив, затем — максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.

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

Решение при помощи электронных таблиц:

Размер свободного места на диске - 8514

1. Сначала переносим столбец с объемами памяти из текстового файла в Excel, а затем сортируем столбец А по возрастанию:

2. Далее, начиная с ячейки А1, начинаем спускать вниз, выделяя диапазон. В это время смотрим как меняется счетчик суммы в правом нижнем углу:

3. Получается, что 290 пользователей с самыми маленькими объемами памяти занимают 8478 места. Больше взять не можем, так как у нас ограничение в 8514

4. Теперь нужно найти размер максимального файла. 289 пользователей занимают 8415 (минус ячейка A290) памяти, тогда получается, что на еще одного пользователя может приходиться 99 свободного места. Проверяем, есть ли такой объем памяти в файле - да, такой есть, значит 99 и будет являться максимальным размером сохранённого в массиве файла.

 

Решение при помощи программы:

f = open(’26_dif_1.txt’)
s, n = map(int, f.readline().split())
l = [int(i) for i in f]
l.sort()
sm = 0
cnt = 0
mx = 0
for i in range(n):
    if sm + l[i] <= s:
        sm += l[i]
        mx = l[i]
        cnt += 1
    else:
        break

if sm < s:
    sm -= mx
    for j in range(n):
        if sm + l[j] <= s:
            mx = max(mx, l[j])
        else:
            break

print(cnt, mx)

Ответ: 290 99

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

Задача 2#85884

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

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

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

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

Запишите в ответе два числа через пробел: сначала наибольшее число пользователей, чьи файлы могут быть помещены в архив, затем — объём минимального файла, который может будет сохранён архиве, при условии, что сохранены файлы максимально возможного числа пользователей.

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

Решение при помощи электронных таблиц:

Размер свободного места на диске - 8414

1. Сначала переносим столбец с объемами памяти из текстового файла в Excel, а затем сортируем столбец А по убыванию (предварительно убрав значения S и N из первой строки и сместив последовательность с числами на A1).

2. Далее, начиная с ячейки А1, начинаем спускать вниз, выделяя диапазон. В это время смотрим как меняется счетчик суммы в правом нижнем углу.

3. Получается, что 87 пользователей с самыми большими объемами памяти занимают 8343 единиц места.

4. Теперь нужно найти следующий файл, который поместится, им оказывается файл объёмом 29, после которого остаётся свободно 42 единиц места. Также можем взять следующий файл объёмом 29, после которого останется 13 единиц места.

5. Первый файл, который поместится в 13 единиц оставшегося места, оказывается файл объёмом 13. Таким образом он является минимальным поместившимся файом, а заняли мы всё место на диске, сохранив 87 + 3 = 90 файлов.

Решение при помощи программы:

f = open(’3_26_18_04.txt’)
s, n = map(int, f.readline().split())
l = [int(i) for i in f]
l.sort(reverse=True)
sm = 0
cnt = 0
mn = 0
for i in range(n):
    if sm + l[i] <= s:
        sm += l[i]
        cnt += 1
        mn = l[i]

print(cnt, mn)

Ответ: 90 13

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

Задача 3#85883

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

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

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

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

Запишите в ответе два числа через пробел: сначала наибольшее число пользователей, чьи файлы могут быть помещены в архив, затем — максимальный размер объём диска, который может быть занят в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.

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

Решение при помощи электронных таблиц:

Размер свободного места на диске - 9631

1. Сначала переносим столбец с объемами памяти из текстового файла в Excel, а затем сортируем столбец А по возрастанию (предварительно убрав значения S и N из первой строки и сместив последовательность с числами на A1).

2. Далее, начиная с ячейки А1, начинаем спускать вниз, выделяя диапазон. В это время смотрим как меняется счетчик суммы в правом нижнем углу.

3. Получается, что 312 пользователей с самыми маленькими объемами памяти занимают 9568 единиц места. Больше взять не можем, так как у нас ограничение в 9631.

4. Теперь нужно найти максимальный занимаемый объём. 311 пользователей занимают 9504 (минус ячейка A312) единиц памяти, тогда получается, что на еще одного пользователя может приходиться 127 единиц свободного места. Проверяем, есть ли такой объем памяти в файле - нет, такого нет, максимальный объём в оставшемся файле - 99, значит берем его, и у нас остаётся 28 единиц свободного места.

5. Предпоследний выбранный объём это 64, значит вместо него можем попробовать взять объём на 28 больше. Проверяем, есть ли объём 64 + 28 = 92 в файле - да, есть, значит, взяв его вместо предпоследнего объёма, мы сможем заполнить весь диск - 9631.

Решение при помощи программы:

f = open(’2_26_18_04.txt’)
s, n = map(int, f.readline().split())
l = [int(i) for i in f]
l.sort()
sm = 0
chosen = []
for i in range(n):
    if sm + l[i] <= s:
        sm += l[i]
        chosen.append(l[i])
    else:
        break

for i in range(1, len(chosen)):
    if sm == s:
        break
    mx = chosen[-i]
    sm -= mx
    for j in range(len(chosen), len(l)):
        if sm + l[j] <= s:
            mx = l[j]
        else:
            break
    chosen[-i] = mx
    sm += mx

print(len(chosen), sm)

Ответ: 312 9631

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

Задача 4#85882

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

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

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

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

Запишите в ответе два числа через пробел: сначала наибольшее число пользователей, чьи файлы могут быть помещены в архив, затем — максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.

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

Решение при помощи электронных таблиц:

Размер свободного места на диске - 9251

1. Сначала переносим столбец с объемами памяти из текстового файла в Excel, а затем сортируем столбец А по возрастанию (предварительно убрав значения S и N из первой строки и сместив последовательность с числами на A1).

2. Далее, начиная с ячейки А1, начинаем спускать вниз, выделяя диапазон. В это время смотрим как меняется счетчик суммы в правом нижнем углу.

3. Получается, что 429 пользователей с самыми маленькими объемами памяти занимают 9228 единиц места. Больше взять не можем, так как у нас ограничение в 9251.

4. Теперь нужно найти размер максимального файла. 428 пользователей занимают 9185 (минус ячейка A429) единиц памяти, тогда получается, что на еще одного пользователя может приходиться 66 единиц свободного места. Проверяем, есть ли такой объем памяти в файле - да, такой есть, значит 66 и будет являться максимальным размером сохранённого в массиве файла.

Решение при помощи программы:

f = open(’1_26_18_04.txt’)
s, n = map(int, f.readline().split())
l = [int(i) for i in f]
l.sort()
sm = 0
cnt = 0
mx = 0
for i in range(n):
    if sm + l[i] <= s:
        sm += l[i]
        mx = l[i]
        cnt += 1
    else:
        break

if sm < s:
    sm -= mx
    for j in range(n):
        if sm + l[j] <= s:
            mx = max(mx, l[j])
        else:
            break

print(cnt, mx)

Ответ: 429 66

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

Задача 5#63542

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

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

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

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

Запишите в ответе два числа через пробел: сначала наибольшее число пользователей, чьи файлы могут быть помещены в архив, затем — максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.

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

Размер свободного места на диске - 8200

1. Сначала переносим столбец с объемами памяти из текстового файла в Exel, а затем сортируем столбец А по возрастанию:

2. Далее, начиная с ячейки А1, начинаем спускать вниз, выделяя диапазон. В это время смотрим как меняется счетчик суммы в правом нижнем углу:

3. Получается, что 568 пользователей с самыми маленькими объемами памяти занимают 8176 места. Больше взять не можем, так как у нас ограничение в 8200

4. Теперь нужно найти размер максимального файла. 567 пользователей занимают 8147 (минус ячейка А568) памяти, тогда получается, что на еще одного пользователя может приходиться 53 свободного места. Проверяем, есть ли такой объем памяти в файле - нет, такого нет. Тогда ищем следующее максимальное число меньшее 53, это 50. Значит максимальный объем памяти - 50.

Таким образом, ответ - 568 50

Ответ: 568 50

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

Задача 6#63367

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

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

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

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

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

Открываем программу Excel и загружаем в неё наш файл. Сортируем столбец А во возрастанию. В столбце В начинаем суммировать значения объемов файлов. Для этого в ячейку B1 помещаем значение ячейки A1, а в ячейку B2 помещаем формулу: = B1 + A2  и растягиваем её вниз. Ищем значение суммы, которое близко к значению 7100. Оно находится в строке 530 и равно 7089.

Однако нам требуется найти максимальный возможный файл. У нас осталось 7100 − 7089 = 11  свободного места. Поэтому, найдём файл, чей объем равен 28+ 11 = 39  . Такого файла нет, поэтому заменим его на тот, чей объем равен 33. Тогда у нас остается 7100 − 7094 = 6  , т.е. ещё 6 единиц свободного простанства. Заменим ещё один файл объема 27 на файл, объема 27+ 6 = 33  . Следовательно, суммарный объем файлов в архиве будет равен 7100.

Больше замен мы сделать не сможем, так как после файла объема 33 сразу же идёт файл объема 40. А для того, чтобы заменять файлы на файл, размера 40, придётся уменьшать количество файлов. Этого делать нельзя. Получается, что файлы, размер которых 40 и более, не смогут попасть в архив. Их количество равно 220.

Ответ: 7100 220

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

Задача 7#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

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

Задача 8#57343

Системный администратор раз в неделю создаёт архив пользовательских файлов. Однако объём диска, куда он помещает архив, может быть меньше, чем суммарный объём архивируемых файлов. Известно, какой объём занимает файл каждого пользователя. По заданной информации об объёме файлов пользователей и свободном объёме на архивном диске определите максимальное число пользователей, чьи файлы можно сохранить в архиве, а также максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.
Входные данные. В первой строке входного файла 26_4.txt находятся два числа: S – размер свободного места на диске (натуральное число, не превышающее 100 000) и N – количество пользователей (натуральное число, не превышающее 20000). В следующих N строках находятся значения объёмов файлов каждого пользователя (все числа натуральные, не превышающие 100), каждое в отдельной строке. Запишите в ответе без пробелов два числа: сначала наибольшее число пользователей, чьи файлы могут быть помещены в архив, затем максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.
Пример входного файла:
100 4
80
30
50
40
При таких исходных данных можно сохранить файлы максимум двух пользователей. Возможные объёмы этих двух файлов 30 и 40, 30 и 50 или 40 и 50. Наибольший объём файла из перечисленных пар – 50, поэтому ответ для приведённого примера: 2 50  

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

Размер свободного места на диске - 38456
1. Сначала переносим столбец с объемами памяти из текстового файла в Exel, а затем сортируем столбец А по возрастанию:
2. Далее, начиная с ячейки А1, начинаем спускать вниз, выделяя диапазон. В это время смотрим как меняется счетчик суммы в правом нижнем углу:
3. Получается, что 2037 пользователей с самыми маленькими объемами памяти занимают 38437 места. Больше взять не можем, так как у нас ограничение в 11456.
4. Теперь нужно найти размер максимального файла. 2036 пользователей занимают 38409 (минус ячейка А2037) памяти, тогда получается, что на еще одного пользователя может приходиться 47 свободного места. Проверяем, есть ли такой объем памяти в файле - да, такой есть. Значит максимальный объем памяти - 47.
Таким образом, ответ - 2037 47

Ответ: 203747

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

Задача 9#57292

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

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

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

Запишите в ответе два числа без пробелов и разделителей: сначала наибольшее число пользователей, чьи файлы могут быть помещены в архив, затем максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.

Пример входного файла:

100 4

80

30

50

40

При таких исходных данных можно сохранить файлы максимум двух пользователей. Возможные объёмы этих двух файлов 30 и 40, 30 и 50 или 40 и 50. Наибольший объём файла из перечисленных пар — 50, поэтому ответ для приведённого примера:

2 50

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

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

PIC

Размер свободного места на диске в файле равен 9537 у.е. Выделяя файлы, будем смотреть на их сумму. Выполняем данную операцию пока сумма файлов не станет больше размера свободного места на диске.

Сумма 595-ти файлов равна объёму свободного места на диске. Самый «тяжелый» файл весит 32 у.е. Ответ: 59532.

Ответ: 59532

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

Задача 10#55484

Системный администратор раз в неделю создаёт архив пользовательских файлов. Однако объём диска, куда он помещает архив, может быть меньше, чем суммарный объём архивируемых файлов. Известно, какой объём занимает файл каждого пользователя. Системный администратор старается сохранить файлы как можно большего размера. При этом используя выделенную память максимально эффективно – сохраняя файлы меньшего размера, если файлы большего не могут быть сохранены.
Входные данные. В первой строке входного файла 2.txt находятся два числа: S – размер свободного места на диске (натуральное число, не превышающее 100 000) и N – количество пользователей (натуральное число, не превышающее 10000). В следующих N строках находятся значения объёмов файлов каждого пользователя (все числа натуральные, не превышающие 100), каждое в отдельной строке. Запишите в ответе два числа без пробелов: сначала число сохраненных файлов, затем размер наименьшего сохраненного файла.
Пример входного файла:
100 4
70
10
25
3
При таких исходных данных можно сохранить три файла – 70, 25, 3. Поэтому ответ должен содержать два числа – 3 и 3.

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

Открываем Excel, заходим в "Открыть"и выбираем текстовый документ из задачи. В вышедшем окне в первом пункте выбираем формат данных с разделителями. Во втором пункте помимо знака табуляции выбираем пробел. Формат данных столбца общий.

Перетаскиваем числа из первой строки в бок, чтобы не мешались. Пустую первую строку убираем(ПКМ на номер строки — удалить). Выделяем столбец с числами, нажимаем на "Сортировка и фильтр"(раздел "Главная справа), выбираем сортировку по убыванию.

Выделяем ячейки столбца до тех пор, пока значение суммы не превысит число S. Если у вас не отображается сумма на нижней панели, то её можно включить через контекстное меню, нажав правой кнопкой мыши на нижнюю панель и поставив галочку рядом с соответствующим пунктом. Сумма превышает число S при последнем числе в ячейке A126, значит, сумма у нас в отрезке A1:A125, она равна 11032. Свободный объём при этом — 18, нужно подобрать число, максимально близкое к 18, либо же равное 18. 18 в списке присутствует — добавляем в сумму.

Таким образом, кол-во элементов у нас 126, а минимальное число — 18.

Ответ: 12618

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

Задача 11#55483

Системный администратор раз в неделю создаёт архив пользовательских файлов. Однако объём диска, куда он помещает архив, может быть меньше, чем суммарный объём архивируемых файлов. Известно, какой объём занимает файл каждого пользователя. По заданной информации об объёме файлов пользователей и свободном объёме на архивном диске определите максимальное число пользователей, чьи файлы можно сохранить в архиве, а также максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.
Входные данные. В первой строке входного файла 1.txt находятся два числа: S – размер свободного места на диске (натуральное число, не превышающее 100000) и N – количество пользователей (натуральное число, не превышающее 10000). В следующих N строках находятся значения объёмов файлов каждого пользователя (все числа натуральные, не превышающие 100), каждое в отдельной строке. Запишите в ответе без пробелов два числа: сначала наибольшее число пользователей, чьи файлы могут быть помещены в архив, затем максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.
Пример входного файла:
100 4
80
30
50
40
При таких исходных данных можно сохранить файлы максимум двух пользователей. Возможные объёмы этих двух файлов 30 и 40, 30 и 50 или 40 и 50. Наибольший объём файла из перечисленных пар – 50, поэтому ответ для приведённого примера: 250

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

Открываем Excel, заходим в "Открыть"и выбираем текстовый документ из задачи. В вышедшем окне в первом пункте выбираем формат данных с разделителями. Во втором пункте помимо знака табуляции выбираем пробел. Формат данных столбца общий.

Перетаскиваем числа из первой строки в бок, чтобы не мешались. Пустую первую строку убираем(ПКМ на номер строки — удалить). Выделяем столбец с числами, нажимаем на "Сортировка и фильтр"(раздел "Главная справа), выбираем сортировку по возрастанию.

Выделяем ячейки столбца до тех пор, пока значение суммы не превысит число S. Если у вас не отображается сумма на нижней панели, то её можно включить через контекстное меню, нажав правой кнопкой мыши на нижнюю панель и поставив галочку рядом с соответствующим пунктом. Сумма превышает число S при последнем числе в ячейке A2352, значит, сумма у нас в отрезке A1:A2351, она равна 47698. Свободный объём при этом — 3, последний элемент равен 31. Для того, чтобы подобрать вместо последнего элемента наибольшее возможное число, нужно найти число, ближайшее к 31+3=34. 34 в списке присутствует, значит, максимальный элемент — 34.

Ранее выяснилось, что сумма идет от 1-го до 2351-го элемента, значит, пользователей 2351. Максимальный размер файла, который может быть сохранён в архиве с учётом макс. числа пользователей — 34.

Ответ: 235134

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

Задача 12#50438

Системный администратор раз в неделю создаёт архив пользовательских файлов. Однако объём диска, куда он помещает архив, может быть меньше, чем суммарный объём архивируемых файлов. Известно, какой объём занимает файл каждого пользователя. По заданной информации об объёме файлов пользователей и свободном объёме на архивном диске определите максимальное число пользователей, чьи файлы можно сохранить в архиве, а также максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.
Входные данные. В первой строке входного файла 2.txt находятся два числа: S – размер свободного места на диске (натуральное число, не превышающее 20 000) и N – количество пользователей (натуральное число, не превышающее 2000). В следующих N строках находятся значения объёмов файлов каждого пользователя (все числа натуральные, не превышающие 100), каждое в отдельной строке. Запишите в ответе без пробелов два числа: сначала наибольшее число пользователей, чьи файлы могут быть помещены в архив, затем максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.
Пример входного файла:
100 4
80
30
50
40
При таких исходных данных можно сохранить файлы максимум двух пользователей. Возможные объёмы этих двух файлов 30 и 40, 30 и 50 или 40 и 50. Наибольший объём файла из перечисленных пар – 50, поэтому ответ для приведённого примера: 2 50  

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

Размер свободного места на диске - 16283. Сначала переносим столбец с объемами памяти из текстового файла в Excel, а затем сортируем столбец А по возрастанию:

PIC

PIC

Далее, начиная с ячейки А1, начинаем спускать вниз, выделяя диапазон. В это время смотрим как меняется счетчик суммы в правом нижнем углу:

PIC

Получается, что 1158 пользователей с самыми маленькими объемами памяти занимают 16283 места. Это и есть максимально возможный объем места, тогда максимальный размер файла - 56.

Таким образом, ответ - 1158 56

Ответ: 115856

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

Задача 13#50437

Системный администратор раз в неделю создаёт архив пользовательских файлов. Однако объём диска, куда он помещает архив, может быть меньше, чем суммарный объём архивируемых файлов. Известно, какой объём занимает файл каждого пользователя. По заданной информации об объёме файлов пользователей и свободном объёме на архивном диске определите максимальное число пользователей, чьи файлы можно сохранить в архиве, а также максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.
Входные данные. В первой строке входного файла 1.txt находятся два числа: S – размер свободного места на диске (натуральное число, не превышающее 15 000) и N – количество пользователей (натуральное число, не превышающее 2000). В следующих N строках находятся значения объёмов файлов каждого пользователя (все числа натуральные, не превышающие 100), каждое в отдельной строке. Запишите в ответе без пробелов два числа: сначала наибольшее число пользователей, чьи файлы могут быть помещены в архив, затем максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.
Пример входного файла:
100 4
80
30
50
40
При таких исходных данных можно сохранить файлы максимум двух пользователей. Возможные объёмы этих двух файлов 30 и 40, 30 и 50 или 40 и 50. Наибольший объём файла из перечисленных пар – 50, поэтому ответ для приведённого примера: 2 50

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

Размер свободного места на диске - 10750. Сначала переносим столбец с объемами памяти из текстового файла в Excel, а затем сортируем столбец А по возрастанию:

PIC

PIC

Далее, начиная с ячейки А1, начинаем спускать вниз, выделяя диапазон. В это время смотрим как меняется счетчик суммы в правом нижнем углу:

PIC

Получается, что 289 пользователей с самыми маленькими объемами памяти занимают 10712 места. Больше взять не можем, так как у нас ограничение в 10750 памяти.

Теперь нужно найти размер максимального файла. 288 пользователей занимают 10650 памяти, тогда получается, что на еще одного пользователя может приходиться 100 свободного места. Проверяем, есть ли такой объем памяти в файле - да, такой есть. Значит максимальный размер файла 100. Таким образом, ответ - 289100

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