В ходе многочисленных опросов зрителей и кинокритиков удалось собрать данные, показывающие, какой уровень ликования вызовет победа каждого фильма в каждой из номинаций. Дотошные журналисты на этом не остановились и дополнительно выяснили, каким будет уровень ликования, если тот или иной фильм не выиграет ни в одной из номинаций.
Требуется написать программу, которая по результатам опросов определяет наибольший суммарный уровень ликования, которого можно добиться выбором фильмов для награждения в указанных номинациях.
В первой строке входного файла задано целое число n — количество кинофильмов, участвующих в финале конкурса Киноакадемии. В следующих n строках содержатся по три целых числа \(a_i\) , \(b_i\) , \(c_i\) — уровень ликования, если \(i\)-й фильм не выиграет ни в одной из номинаций, уровень ликования, если этот фильм выиграет в номинации на лучшую режиссуру, и уровень ликования, если этот фильм выиграет в номинации на лучший сценарий.
Первая строка выходного файла должна содержать одно число — наибольший возможный суммарный уровень ликования. Вторая строка должна содержать два целых числа — номера фильмов-победителей в номинациях лучшая режиссура и лучший сценарий соответственно. Фильмы нумеруются натуральными числами от 1 до \(n\). Если оптимальных способов выбора награждаемых фильмов несколько, можно вывести любой из них.
2 <= \(n\) <= 100
1 <= \(a_i\), \(b_i\), \(c_i\) <= \(10^5\)
Подзадача оценивается в 20 баллов
2 <= \(n\) <= 2000
1 <= \(a_i\), \(b_i\), \(c_i\) <= \(10^5\)
Подзадача оценивается в 25 баллов
2 <= \(n\) <= \(10^5\)
1 <= \(a_i\), \(b_i\), \(c_i\) <= \(10^9\)
Подзадача оценивается в 55 баллов
В приведенном примере наибольший суммарный уровень ликования равен 3 + 5 + 9 = 17.
3 3 6 9 1 5 7 1 3 9
17 2 3
Под будущей магистралью залегают \(n\) горизонтальных пластов. Геологическое исследование позволило определить точки магистрали, под которыми начинается и заканчивается каждый из них. При этом порядок залегания пластов по глубине определить не удалось.
В заданных местах вдоль планируемой магистрали пробурены вертикальные скважины. Каждая из них пересекает несколько верхних пластов, находящихся под точкой бурения. Для каждой скважины известно, в каком порядке располагаются пробуренные пласты сверху вниз, начиная от поверхности. Если скважина не пересекает какой-то из пластов, находящихся под точкой бурения, значит он проходит ниже дна скважины.
Требуется написать программу, которая определяет возможный порядок залегания пластов по глубине, не противоречащий полученным данным.
Первая строка входного файла содержит целое число \(n\) — количество пластов. Пласты пронумерованы целыми числами от 1 до \(n\) в произвольном порядке.
В \(i\)-й из следующих \(n\) строк содержатся целые числа \(l_i\) и \(r_i\) (0 <= \(l_i\) < \(r_i\) <= \(10^9\) ) — расстояния от начала магистрали до точек, под которыми начинается и заканчивается \(i\)-й пласт.
В следующей строке записано целое число \(m\) — количество скважин, в которых проводилось бурение. Следующие \(m\) строк описывают результаты бурения: в каждой строке сначала указаны два целых числа \(x\) (0 <= \(x\) <= \(10^9\) ) и \(k\) (0 <= \(k\) <= \(n\)) — расстояние от начала магистрали до скважины и количество обнаруженных в данной скважине пластов, затем — целые числа \(s_1\); \(s_2\), ..., \(s_k\) — номера пробуренных пластов, перечисленные в порядке залегания сверху вниз. Скважины перечислены в порядке возрастания расстояния \(x\).
Гарантируется, что решение существует.
Первая строка выходного файла должна содержать n целых чисел \(p_1\); \(p_2\), ..., \(p_n\), описывающих возможный порядок залегания пластов сверху вниз. Среди чисел \(p_1\), \(p_2\), ..., \(p_n\) каждый номер пласта должен встретиться ровно один раз. При этом пласт с номером \(p_j\) не должен нигде проходить выше пластов с номерами \(p_1\), ..., pj-1 или ниже пластов с номерами pj+1, ..., \(p_n\)
Если возможных расположений пластов несколько, выведите любое из них.
Данная задача содержит пять подзадач. Для оценки каждой подзадачи используется своя группа тестов. Баллы за подзадачу начисляются только в том случае, если все тесты из этой группы пройдены.
1 <= \(n\), \(m\) <= 1000
Каждая скважина пересекает все пласты, залегающие под ней
Подзадача оценивается в 20 баллов
1 <= \(n\), \(m\) <= 1000
Подзадача оценивается в 20 баллов
1 <= \(n\), \(m\) <= 30000
Суммарное количество пластов, найденных при бурении скважин, не более \(10^6\).
Подзадача оценивается в 20 баллов
1 <= \(n\), \(m\) <= \(10^5\)
Суммарное количество пластов, найденных при бурении скважин, не более \(10^5\).
Подзадача оценивается в 20 баллов
1 <= \(n\), \(m\) <= \(10^5\)
Суммарное количество пластов, найденных при бурении скважин, не более \(10^6\).
Подзадача оценивается в 20 баллов
4 1 5 2 7 7 10 1 11 3 1 1 1 4 1 2 7 2 2 3
2 1 3 4
В каждом из зданий, включая общежитие и учебный корпус, расположен автомат, торгующий ровно одним продуктом, например, только кофе или только пирожками с мясом. Студенты каждый день ходят из общежития в учебный корпус по переходам, выбирая один из кратчайших путей.
Руководство университета заинтересовалось разнообразием питания студентов, покупающих продукты в автоматах по ходу движения. Для каждого автомата Ai,j планируется найти кратчайший путь из общежития в учебный корпус, проходящий через этот автомат и содержащий как можно больше автоматов, торгующих тем же самым продуктом, что и автомат Ai,j. Количество таких автоматов на этом пути называется избыточностью автомата Ai,j. При этом автомат A1,1 находится в общежитии, а автомат An,n — в учебном корпусе.
Требуется написать программу, которая по информации о продуктах, продаваемых автоматами, для каждого из чисел в диапазоне от 1 до 2n - 1 определяет число автоматов с таким значением избыточности.
Первая строка входного файла содержит целое число n (2 <= \(n\) <= 1500). Следующие \(n\) строк содержат по \(n\) чисел в каждой. В \(i\)-й из этих строк \(j\)-е число соответствует номеру продукта, продающегося в автомате A i, j. Номера продуктов находятся в диапазоне от 1 до \(n^2\).
Выходной файл должен содержать (2n - 1) целых чисел - количество автоматов с избыточностями 1, 2, ..., 2n - 1 соответственно
Для проверки решений этой задачи используются 50 тестов. Тесты оцениваются независимо. Каждый тест оценивается в 2 балла. Значения n в тестах жюри приведены в следующей таблице.
3 1 1 1 2 2 2 3 3 3
0 0 9 0 0
5 1 4 1 3 5 2 1 4 1 2 5 1 1 4 5 3 5 1 1 2 4 3 5 1 1
2 4 9 0 0 1 1 8 0