Logo
(追記) (追記ここまで)

20465번 - Путешествие в Метрополис 서브태스크다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
4 초 512 MB50111132.353%

문제

Путешествие по стране никогда не бывает простым, особенно когда не существует прямого сообщения между городами. Группа туристов хочет добраться в город Метрополис, используя сеть железных дорог, которая соединяет $n$ городов, пронумерованных от 1ドル$ до $n$. Город, из которого выезжает группа, имеет номер 1ドル,ドル Метрополис имеет номер $n$.

На железной дороге постоянно функционируют $m$ маршрутов поездов. Каждый маршрут определяется последовательностью городов, перечисленных в том порядке, в каком их проезжает поезд, обслуживающий этот маршрут. В каждом маршруте для каждой пары соседних городов задано время, за которое поезд этого маршрута проезжает перегон между этими городами. При этом поезда разных маршрутов могут проезжать один и тот же перегон за разное время.

По пути в Метрополис группа может садиться на поезд и сходить с поезда в любом городе маршрута, не обязательно в начальном или конечном. При этом, можно сойти с поезда маршрута~$i,ドル пересесть на поезд маршрута~$j,ドル возможно сделать еще несколько пересадок, а потом вновь сесть в поезд того же маршрута~$i$.

Туристы предъявляют высокие требования к выбору способа проезда в Метрополис.

Во-первых, суммарное время, проведенное в поездах, должно быть минимальным.

Во-вторых, среди всех способов с минимальным временем нахождения в поездах предпочтительным является тот способ, для которого сумма квадратов промежутков времени, непрерывно проведенных в поезде между двумя пересадками, максимальна. Назовём эту сумму качеством путешествия.

Время, проведенное вне поездов, не учитывается.

Требуется написать программу, которая по описаниям имеющихся маршрутов поездов определит минимальное время, которое группе туристов придется провести в поездах, а также максимальное качество путешествия с таким временем.

입력

В первой строке входных данных заданы два целых числа (2ドル \leq n \leq 10^6,ドル 1ドル \leq m \leq 10^6$) --- количество городов и количество маршрутов соответственно.

Далее в $m$ строках содержится описание маршрутов.

Описание каждого маршрута начинается с целого числа $s_i$ --- количество перегонов в маршруте с номером $i$ (1ドル \leq s_{i} \leq 10^6$). Далее следуют $(2s_{i} + 1)$ целых чисел, описывающих города маршрута и время проезда перегона между соседними городами маршрута, в следующем порядке: $v_{i,1},ドル $t_{i,1},ドル $v_{i,2},ドル $t_{i,2},ドル $v_{i,3},ドル $\ldots,ドル $t_{i,s_i},ドル $v_{i,s_{i}+1},ドル где $v_{i,j}$ --- номер $j$-го города маршрута, $t_{i,j}$ --- время проезда перегона между $j$-м и $(j+1)$-м городом (1ドル \leq v_{i,j} \leq n,ドル 1ドル \leq t_{i,j} \leq 1000$).

Гарантируется, что $s_1 + s_2 + \ldots + s_m \leq 10^6$. Никакие два города в описании маршрута не совпадают. Гарантируется, что с помощью имеющихся маршрутов можно добраться из города с номером~1ドル$ в город с номером~$n$.

출력

Выходные данные должны содержать два целых числа --- минимальное суммарное время, которое придется провести в поездах, и максимальное качество пути с таким временем.

제한

서브태스크

번호배점제한
110

$n \le 10,ドル $\sum s_i \le 20,ドル $s_i = 1$

210

$n \le 1,000円,ドル $\sum s_i \le 1,000円,ドル $s_i = 1$

317

$n \le 1,000円,ドル $\sum s_i \le 1,000円$

417

$n \le 1,000円,ドル $\sum s_i \le 100,000円$

519

$n \le 10,000円,ドル $\sum s_i \le 200,000円$

619

$n \le 200,000円,ドル $\sum s_i \le 200,000円$

78

$n \le 10^6,ドル $\sum s_i \le 10^6$

예제 입력 1

2 1
1 1 3 2

예제 출력 1

3 9

예제 입력 2

5 2
4 1 3 2 3 3 5 5 10 4
3 4 2 2 1 3 4 1

예제 출력 2

9 35

예제 입력 3

5 2
3 1 1 2 2 3 3 4
3 2 2 3 3 4 4 5

예제 출력 3

10 82

힌트

В первом примере группа туристов отправится прямым маршрутом в Метрополис.

Во втором примере не оптимально проехать напрямую по первому маршруту, так как время в поезде при этом не будет минимальным возможным. Поэтому они отправятся на поезде по маршруту 1ドル$ из города 1ドル$ в город 2ドル,ドル затем на поезде по маршруту 2ドル$ из города 2ドル$ в город 3ドル,ドル а затем снова на поезде по маршруту 1ドル$ из города 3ドル$ в город 5ドル$. При этом сумма квадратов промежутков времени, проведенных в поездах между пересадками, равна 3ドル^2 + 1^2 + 5^2 = 35$.

Иллюстрация ко второму примеру.

В третьем примере добраться из города 1ドル$ в город 4ドル$ за минимальное время можно, пересаживаясь с маршрута 1ドル$ на маршрут 2ドル$ в любом из городов 2ドル,ドル 3ドル$ или 4ドル$. Максимальное качество путешествия достигается при пересадке в городе 2ドル$: 1ドル^2 + 9^2 = 82$.

Обратите внимание, что второй и третий примеры не удовлетворяют ограничениям первой и второй подзадачи, решение будет протестировано на этих подзадачах, если оно пройдет первый тест из примера. Все тесты из примера подходят под ограничения подзадач 3~--~7, решение будет проверяться на тестах этих подзадач только в случае прохождения всех тестов из примера.

출처

Olympiad > Russian Olympiad in Informatics > Russian Olympiad in Informatics 2017 4번

채점 및 기타 정보

  • 예제는 채점하지 않는다.
  • 이 문제의 채점 우선 순위는 2이다.
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /