#2093. 紧急救援
紧急救援
No testdata at current.
题目描述
作为一个城市的应急救援队伍负责人,你有一张特殊的全国地图。地图上有若干个分散的城市,以及若干条连接城市的快速道路。
每个城市拥有一定数量的救援队,每条快速道路也都有对应的长度。
当接到某个城市的紧急求助电话时,你的任务是带领救援队尽快赶往目的地;同时,在所有最短路径中,还要使沿途能够召集到的救援队总数尽可能多。
请你求出:
- 从出发城市到目标城市的最短路径条数;
- 在这些最短路径中,最多能够召集到的救援队数量;
- 以及对应的一条最优路径。
输入格式
从标准输入按以下格式读取数据:
其中:
- 第一行输入 个正整数 ,分别表示城市个数、快速道路条数、出发城市编号和目标城市编号。
- 城市编号为 。
- 第二行输入 个正整数,其中第 个数表示第 个城市拥有的救援队数量。
- 接下来 行,每行输入三个整数 ,表示城市 和城市 之间有一条长度为 的快速道路。
数据范围
- 快速道路长度为不超过 的整数
- 输入保证从 到 一定可达
- 输入保证最优解唯一
输出格式
第一行输出两个整数:
- 最短路径的条数;
- 在所有最短路径中,最多能够召集到的救援队数量。
第二行输出一条从 到 的最优路径上依次经过的城市编号。
输出的整数之间用一个空格分隔,行末不能有多余空格。
样例
4 5 0 3
20 30 40 10
0 1 1
1 3 2
0 3 3
0 2 2
2 3 2
2 60
0 1 3