Məsələlər
План эвакуации
План эвакуации
В городе есть муниципальные здания и бомобоубежища, которые были специально построены для эвакуации служащих в случае ядерной войны. Каждое бомбоубежище имеет ограниченную вместительность по количеству людей, которые могут в нем находиться. В идеале все работники из одного муниципального здания должны были бы бежать к ближайшему бомбоубежищу. Однако, в таком случае, некоторые бомбоубежища могли бы переполниться, в то время как остальные остались бы наполовину пустыми.
Чтобы резрешить эту проблему Городской Совет разработал специальный план эвакуации. Вместо того, чтобы каждому служащему индивидуально приписать, в какое бомбоубежище он должен бежать, для каждого муниципального здания определили, сколько служащих из него в какое бомобоубежище должны бежать. Задача индивидуального распределения была переложена на внутреннее управление муниципальных зданий.
План эвакуации учитывает количество служащих в каждом здании --- каждый служащий должен быть учтен в плане и в каждое бомбоубежище может быть направлено количество служащих, не превосходящее вместимости бомбоубежища.
Городской Совет заявляет, что их план эвакуации оптимален в том смысле, что суммарное время эвакуации всех служащих города минимально.
Мэр города, находящийся в постоянной конфронтации с Городским Советом, не слишком то верит этому заявлению. Поэтому он нанял Вас в качестве независимого эксперта для проверки плана эвакуации. Ваша задача состоит в том, чтобы либо убедиться в оптимальности плана Городского Совета, либо доказать обратное, представив в качестве доказательства другой план эвакуации с меньшим суммарным временем для эвакуации всех служащих.
Карта города может быть представлена в виде квадратной сетки. Расположение муниципальных зданий и бомбоубежищ задается парой целых чисел, а время эвакуации из муниципального здания с координатами (\textbf{X_i}, \textbf{Y_i}) в бомбоубежище с координатами (\textbf{P_j}, \textbf{Q_j} ) составляет \textbf{Dij = |X_i-P_j| + |Yi-Q_j| + 1} минут.
\InputFile
Входной файл содержит описание карты города и плана эвакуации, предложенного Городским Советом. Первая строка входного файла содержит два целых числа \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{100}) и \textbf{M} (\textbf{1} ≤ \textbf{M} ≤ \textbf{100}), разделенных пробелом. \textbf{N} --- число муниципальных зданий в городе (все они занумерованы числами от \textbf{1} до \textbf{N}), \textbf{M} --- число бомбоубежищ (все они занумерованы числами от \textbf{1} до \textbf{M}).
Последующие \textbf{N} строк содержат описания муниципальных зданий. Каждая строка содержит целые числа \textbf{X_i}, \textbf{Y_i} и \textbf{B_i}, разделенные пробелами, где \textbf{X_i}, \textbf{Y_i} (\textbf{-1000} ≤ \textbf{X_i}, \textbf{Y_i} ≤ \textbf{1000}) --- координаты здания, а \textbf{B_i} (\textbf{1} ≤ \textbf{B_i} ≤ \textbf{1000}) --- число служащих в здании.
Описание бомбоубежищ содержится в последующих \textbf{M} строках. Каждая строка содержит целые числа \textbf{P_j}, \textbf{Q_j} и \textbf{C_j}, разделенные пробелами, где \textbf{P_j}, \textbf{Q_j} (\textbf{-1000} ≤ \textbf{P_j}, \textbf{Q_j} ≤ \textbf{1000}) --- координаты бомбоубежища, а \textbf{C_j} (\textbf{1} ≤ \textbf{C_j} ≤ \textbf{1000}) --- вместимость бомбоубежища.
В последующихся \textbf{N} строках содержится описание плана эвакуации. Каждая строка представляет собой описание плана эвакуации для отдельного здания. План эвакуации из \textbf{i}-го здания состоит из \textbf{M} целых чисел \textbf{E_ij}, разделенных пробелами. \textbf{E_ij} (\textbf{0} ≤ \textbf{E_ij} ≤ \textbf{10000}) --- количество служащих, которые должны эвакуироваться из \textbf{i}-го здания в \textbf{j}-е бомбоубежище.
Гарантируется, что план, заданный во входном файле, корректен.
\OutputFile
Если план эвакуации Городского Совета оптимален, то выведите одно слово \textbf{OPTIMAL}. В противном случае выведите на первой строке слово \textbf{SUBOPTIMAL}, а в последующих \textbf{N} строках выведите Ваш план эвакуации (более оптимальный) в том же формате, что и во входном файле. Ваш план не обязан быть оптимальным, но должен быть лучше плана Городского Совета.
Giriş verilənləri #1
3 4 -3 3 5 -2 -2 6 2 2 5 -1 1 3 1 1 4 -2 -2 7 0 -1 3 3 1 1 0 0 0 6 0 0 3 0 2
Çıxış verilənləri #1
SUBOPTIMAL 3 0 1 1 0 0 6 0 0 4 0 1