Ограничения: время – 500ms/1000ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Дан файл archive.zip, вывести список файлов в zip-архиве.
Последние 22 байта zip-архива содержат следующую информацию:
Смещение | Размер | Описание |
0 | 4 | 0x06054b50 |
4 | 2 | - |
6 | 2 | - |
8 | 2 | - |
10 | 2 | Количество файлов в архиве |
12 | 4 | - |
16 | 4 | Смещение от начала архива до списка файлов |
20 | 2 | 0 |
Каждый элемент списка файлов содержит следующую информацию:
Смещение | Размер | Описание |
0 | 4 | 0x02014b50 |
4 | 2 | - |
6 | 2 | - |
8 | 2 | - |
10 | 2 | - |
12 | 2 | - |
14 | 2 | - |
16 | 4 | - |
20 | 4 | Размер сжатого файла |
24 | 4 | Размер несжатого файла |
28 | 2 | Длина имени файла (n) |
30 | 2 | Длина дополнительной информации (m) |
32 | 2 | Длина комментария (k) |
34 | 2 | - |
36 | 2 | - |
38 | 4 | - |
42 | 4 | Смещение от начала архива до сжатого файла |
46 | n | Имя файла |
46+n | m | Дополнительная информация |
46+n+m | k | Комментарий |
Для каждого файла вывести его имя, размер сжатого файла и размер несжатого файла
Скачать archive.zip для теста 1
Пример вывода 1
Makefile 78 108
program.c 325 662