Автор | Сообщение |
|
Отправлено: 27.01.21 12:11. Заголовок: Задача 26-34
Указанный ответ: 6808 99 С первым число согласен, со вторым - нет. Сумма всех чисел файла: 544121 Берём 90%: 489709 (новый доступный объём) Числа в файле не превышают 99. В файле 106 чисел 99 Даже если мы без сжатия выкинем все 99 (106 шт) 544121 - 106*99 = 533627, то такой архив никак не помещается в 489709 Следовательно все 99-ки сжимали и 99 не может являться ответом. Мой ответ: 71
|
|
|
Ответов - 12
[только новые]
|
|
|
| Администратор
|
Сообщение: 2380
|
|
Отправлено: 31.01.21 20:32. Заголовок: На сайте лежат решен..
На сайте лежат решения всех 26-х задач, попробуйте их посмотреть.
|
|
|
|
Отправлено: 20.02.22 08:49. Заголовок: Доброе утро! Согласе..
Доброе утро! Согласен с Чаговец. Максимальным значением нового списка не может быть максимальное значение изначального списка, т.к. по условию задачи "как можно наибольшее возможное количество файлов сохраняется без сжатия". Следовательно, сжатие начинается с самых больших файлов (99). a = open('26-j6.txt') b = a.read().split() b = [int(i) for i in b] n = b[0] b = b[1:] b.sort(reverse=True) v = sum(b) * 0.9 k = 0 for i in range(len(b)): if sum(b) > v: b[ i] = b[ i]*0.8 # поочередное сжатие файлов, начиная с большего, # пока все не поместятся k+=1 print(len(b) - k, round(max(b))) # ответ 6808 79 (6808 99)
|
|
|
|
| Администратор
|
Сообщение: 3341
|
|
Отправлено: 22.02.22 11:52. Заголовок: dim18 пишет: Соглас..
dim18 пишет: цитата: | Согласен с Чаговец. Максимальным значением нового списка не может быть максимальное значение изначального списка, т.к. по условию задачи "как можно наибольшее возможное количество файлов сохраняется без сжатия". Следовательно, сжатие начинается с самых больших файлов (99). |
|
Посмотрите мой последний комментарий в этом треде.
|
|
|
|
Отправлено: 23.02.22 07:13. Заголовок: Спасибо!..
Спасибо!
|
|
|
|
Отправлено: 31.01.21 20:27. Заголовок: Можно еще раз, откуд..
Можно еще раз, откуда 6808? На сайте висит старая задача, Сжатый файл занимает в памяти 80% от исходного. Для архива выделяется объем, равный 90% от общего объема файлов пользователей до сжатия. Начало решения то же - 90% от исходного 489709. Потом я добирала этот объем сжатыми файлами (80%) они все туда поместились. и остался некоторый объем, который добираю несжатыми файлами. но 6808 никак не получается. Помогите, еще раз разобраться.
|
|
|
|
Отправлено: 11.02.21 17:14. Заголовок: 26-34. Не совпадает с ответом
У меня объем архива получился 489708,9. Чтобы выбрать разницу 54412,1, нужно заархивировать 3191 файл, начиная с больших. Не сжатых файлов получается 10000-3191=6809 Максимальный файл под номером 3192=71. Если сложить 3191 заархивированный файл и (3192:10000) не сжатых получим 489709,8 (в архив помещаются все). С ответом не сходится. Помогите, пожалуйста, разобраться в чем ошибка.
|
|
|
|
| Администратор
|
Сообщение: 2432
|
|
Отправлено: 11.02.21 20:58. Заголовок: Чаговец пишет: С отв..
Чаговец пишет: цитата: | С ответом не сходится. Помогите, пожалуйста, разобраться в чем ошибка. |
|
Показывайте решение. Мое решение лежит на сайте.
|
|
|
|
Отправлено: 15.02.21 22:16. Заголовок: Чаговец пишет: объе..
Чаговец пишет: цитата: | объем архива получился 489708,9. |
| Чаговец пишет: цитата: | получим 489709,8 (в архив помещаются все |
| Получилось чуть больше, чем архив. Как раз один файл и не влезет... ИМХО.
|
|
|
|
Отправлено: 22.02.21 20:46. Заголовок: Скажите, я правильно..
Скажите, я правильно понимаю второй вопрос "и максимально возможный размер такого файла" : То есть здесь мы должны вычесть из суммы полученных файлов(3192 архивированных+6808 не архивированных) самое большое не архивированное число( в данном случае это число 71) и вместо него прибавить максимально возможное число, которое после архивации влезет в диск. Получается мы должны прибавить вместо сжатых 99=(19.2) нормальные 99 и сжать число 71. ???
|
|
|
|
| Администратор
|
Сообщение: 2491
|
|
Отправлено: 23.02.21 16:56. Заголовок: Andreyka009 пишет: ..
Andreyka009 пишет: цитата: | мы должны прибавить вместо сжатых 99=(19.2) нормальные 99 и сжать число 71. |
|
Сначала пытаемся сохранить без сжатия как можно больше маленьких файлов. Затем берем последний файл, сохраненный без сжатия (71) и пытаемся заменить его на бОльший. Выясняем, что вместо последнего 71 можно сохранить 99, и ограничения по объёму выполняются. Это и есть ответ.
|
|
|
|
Отправлено: 26.04.22 21:16. Заголовок: Если объем диска 489..
Если объем диска 489709, то отсортировав числа от минимального к максимальному мы сможем взять такое количество несжатых файлов (число и сколько шт. берем): 10 119 1190 11 130 1430 12 119 1428 13 122 1586 14 111 1554 15 113 1695 16 120 1920 17 98 1666 18 110 1980 19 122 2318 20 121 2420 21 112 2352 22 106 2332 23 103 2369 24 107 2568 25 111 2775 26 91 2366 27 122 3294 28 96 2688 29 101 2929 30 141 4230 31 128 3968 32 101 3232 33 117 3861 34 99 3366 35 108 3780 36 110 3960 37 94 3478 38 120 4560 39 111 4329 40 114 4560 41 114 4674 42 116 4872 43 123 5289 44 108 4752 45 113 5085 46 99 4554 47 104 4888 48 99 4752 49 111 5439 50 110 5500 51 104 5304 52 106 5512 53 98 5194 54 100 5400 55 90 4950 56 129 7224 57 93 5301 58 104 6032 59 124 7316 60 108 6480 61 128 7808 62 113 7006 63 125 7875 64 109 6976 65 95 6175 66 120 7920 67 106 7102 68 106 7208 69 127 8763 70 120 8400 71 108 7668 72 98 7056 73 112 8176 74 109 8066 75 102 7650 76 104 7904 77 125 9625 78 98 7644 79 125 9875 80 106 8480 81 128 10368 82 97 7954 83 126 10458 84 115 9660 85 110 9350 86 104 8944 87 115 10005 88 116 10208 89 111 9879 90 111 9990 91 97 8827 92 98 9016 93 119 11067 94 115 10810 95 10 950 Итого получается 489565 сумма чисел, разница = 144, куда и поместится 99 (без сжатия). В этом случае мы взяли итого: 9438 + 1(99)=9439 и они без проблем помещаются, так как приоритет отдается несжатым файлам. Почему ответ 6808? У Вас такой же файл как у нас?
|
|
|
|
|
| Администратор
|
Сообщение: 3513
|
|
Отправлено: 28.04.22 10:07. Заголовок: nuriatalgatovna пише..
nuriatalgatovna пишет: цитата: | У Вас такой же файл как у нас? |
|
И файл с данными, и авторское решение 26-й задачи лежат на сайте, вы можете все проверить.
|
|
|
|