eolymp
bolt
Try our new interface for solving problems
Məsələlər

Обзор продуктов питания

Обзор продуктов питания

prb6832 Фрида работает в Cosmopolitan и пишет обзоры ресторанов. Она любит свою работу, но кажется что на протяжении многих лет она рассмотрела все рестораны на Земле. Теперь пришло время перейти на один уровень вверх; она собирается написать обзор питания, которое подается авиакомпаниями, так что читатели смогут принимать более обоснованные решения о своих полетах.

Босс Фриды дал ей список авиарейсов, которые она должна рассмотреть в предстоящем выпуске Cosmopolitan. Она знает, что одна и та же пища предоставляется в обоих направлениях каждого полета, поэтому каждый рейс достаточно проверить только один раз. Она также поняла, что ей следует воспользоваться и некоторыми дополнительными рейсами, потому что она не сможет сделать все отзывы, используя только рейсы из списка своего босса. Поэтому она сделала несколько быстрых исследований и составила список дополнительных рейсов, которые она может использовать. Фрида не будет изучать еду на этих рейсах; они будут использоваться, только чтобы она смогла сделать все требуемые отзывы.

Цель Фриды - сделать все обзоры, потратив при этом минимум денег на билеты на самолет. Ее офис находится в Стокгольме, так что она начинает и заканчивает путешествие именно там. Каждый полет между двумя городами имеет фиксированную цену в обоих направлениях. Известно, что можно написать все отзывы, используя некоторые дополнительные рейсы.

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

Входные данные

Первая строка содержит два целых числа n и r (2n13, 0r78), где n - количество аэропортов, а r - число авиарейсов, по которым следует написать отзывы. Аэропорты пронумерованы числами 1, ..., n, Стокгольм имеет номер 1.

Следующие r строк описывают r рейсов, которые следует рассмотреть. Каждая строка содержит 3 числа a, b, c (1a, bn, 1c10000), где a и b задают два разных аэропрта, а c - стоимость полета в шведских кронах в обоих направлениях. Никакая пара из двух городов не представлена дважды.

Следующая строка содержит количество допустимых дополнительных рейсов f (0f200). Следующие f строк описывают дополнительные рейсы в том же формате как и основные. Между одной парой городов может существовать более одного рейса. Считайте, что можно написать все отзывы, используя некоторые дополнительные рейсы.

Выходные данные

Вывести наименьшую общую стоимость билетов, которую Фрида должна заплатить чтобы совершить все обзоры и вернуться домой в Стокгольм.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 244.24 MiB
Giriş verilənləri #1
5 3
1 2 1000
2 3 1000
4 5 500
2
1 4 300
3 5 300
Çıxış verilənləri #1
3100
Giriş verilənləri #2
6 5
1 2 1000
2 3 1000
1 3 1000
2 4 1000
5 6 500
2
2 5 300
4 6 300
Çıxış verilənləri #2
5100
Mənbə 2012 ACM Nordic (NCPC), October 6, Problem F