| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 5 | 2 | 1 | 33.333% |
Успешно решив все задачи отборочного этапа, Миша получил приглашение принять участие в очном туре Закрытой олимпиады школьников по информатике. Миша планирует добираться до места проведения олимпиады самолётами, при этом он хочет совершить не более одной пересадки, то есть использовать не более двух рейсов. Разумеется, среди всех таких вариантов его интересует самый дешёвый.
Жюри Закрытой олимпиады держит место и дату проведения очного этапа олимпиады в строжайшем секрете, а Миша очень любит путешествовать, поэтому не может заранее знать, из какого города он будет начинать свой путь. Кроме того, периодически появляются новые регулярные рейсы, а некоторые старые наоборот исчезают из расписания, поэтому Миша просит вас написать программу, которая будет отвечать на следующие запросы:
Каждый рейс связывает некоторую пару городов $u_i$ и $v_i,ドル и имеет свою стоимость $c_i$. Все рейсы двусторонние, то есть позволяют добраться как из города $u_i$ в город $v_i,ドル так и наоборот, из города $v_i$ в город $u_i$.
В первой строке входных данных записаны два целых числа $n$ и $m$ (2ドル \leq n \leq 100,000円,ドル 0ドル \leq m \leq 100,000円$) --- количество городов и количество уже доступных рейсов соответственно.
Следующие $m$ строк описывают имеющиеся рейсы. В $i$-й из этих строк записаны три целых числа $u_i,ドル $v_i$ и $c_i$ (1ドル \leq u_i, v_i \leq n,ドル $u_i \ne v_i,ドル 0ドル \le c_i \le 10^9$) --- номера городов, которые связывает $i$-й регулярный рейс, и его стоимость.
В следующей строке записано одно целое число $q$ (1ドル \leq q \leq 100,000円$) --- количество запросов.
Каждая из последующих $q$ строк содержит описание запроса в одном из трёх форматов:
Гарантируется, что в любой момент времени между каждой парой городов существует не более одного регулярного рейса. Дополнительно гарантируется, что во входных данных присутствует хотя бы один запрос третьего типа.
Для каждого запроса третьего типа выведите минимальную стоимость поездки с использованием не более одной пересадки. Если между указанной парой городов вовсе не существует подходящих маршрутов, то выведите $-1$.
5 6 1 2 3 1 3 8 2 3 4 2 4 7 3 4 1 4 5 7 13 3 1 3 3 1 4 2 1 3 3 1 4 1 1 3 0 3 1 4 3 1 5 3 3 4 1 1 4 1 3 2 4 3 2 5 2 4 5 3 2 5
7 9 10 1 -1 1 4 14 -1
Рассмотрим пример. Для запросов третьего типа перечислим оптимальные маршруты в порядке появления этих запросов во входных данных: