printРабочее место участника

printЗадачи

2450. Список файлов в архиве

Ограничения: время – 500ms/1000ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение 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
loading