eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Парк аттракционов

Парк аттракционов

\includegraphics{https://static.e-olymp.com/content/49/49270e28ebc371c9e6e548fe5edf6353526f0ecb.jpg} В городе недавно построили парк аттракционов, в котором есть павильон игровых автоматов. Каждый из автоматов рассчитан на одного человека. В программе Всероссийской олимпиады планируется посещение этого павильона. Перед организаторами встала сложная задача --- составить расписание игры участников олимпиады на автоматах таким образом, чтобы каждый из \textbf{N} участников олимпиады смог поиграть на каждом из автоматов, и при этом автобус, увозящий участников из парка олимпиады, смог бы отправиться к месту проживания как можно раньше. Время перемещения участников между автоматами, а также между автобусом и павильоном считается равным нулю. Каждый из участников в любой момент времени может как играть на автомате, так и ждать своей очереди, например, гуляя по парку. Для каждого из \textbf{M} (\textbf{M} ≤ \textbf{N}) автоматов известно время игры на нём \textbf{t_i} (\textbf{1} ≤ \textbf{i} ≤ \textbf{M}). Прервать начатую игру на автомате невозможно. Автобус привозит всех участников олимпиады в парк одновременно в нулевой момент времени. Требуется написать программу, которая по заданным числам \textbf{N}, \textbf{M} и \textbf{t_i} определяет оптимальное расписание игры на автоматах для каждого из участников. \InputFile В первой строке входного файла содержатся два числа: \textbf{N} и \textbf{M} (\textbf{1} ≤ \textbf{M} ≤ \textbf{N} ≤ \textbf{100}). Во второй строке заданы \textbf{M} целых чисел \textbf{t_i} (\textbf{1} ≤ \textbf{t_i} ≤ \textbf{100}), каждое из которых задаёт время игры на \textbf{i}-м автомате (\textbf{1} ≤ \textbf{i} ≤ \textbf{M}). Числа в строке разделяются одиночными пробелами. \InputFile В первой строке необходимо вывести одно число --- минимально возможное время отправления автобуса из парка аттракционов. Далее необходимо вывести \textbf{N} расписаний игр на автоматах, по одному для каждого из участников. Каждое расписание описывается в \textbf{(M+1)} строках, первая из которых --- пустая, а далее следуют \textbf{M} строк, описывающих автоматы в порядке их посещения этим участником. Посещение автомата описывается двумя целыми числами: номером автомата \textbf{j} (\textbf{1} ≤ \textbf{j} ≤ \textbf{M}) и временем начала игры участника на этом автомате.
Лимит времени 1 секунда
Лимит использования памяти 256 MiB
Входные данные #1
1 1
1
Выходные данные #1
1

1 0
Источник XXIII Всероссийская олимпиада школьников по информатике, Пермь, Второй тур, 15.04.2011