C. 山路货运

    传统题 1000ms 512MiB
显示设置

山路货运

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

山路货运

题目背景

一支货运车队要在两座山城之间运送货物。山区公路年久失修,每条路都有自己的损耗值,车队最怕的就是沿途最糟糕的那几段路——车轴坏在路上,损失远比油钱大。

题目描述

山区公路网中有 nn 座城市,编号从 11 到 nn;城市之间有 mm 条双向公路,第 ii 条公路连接城市 uiu_i 与 viv_i,损耗值为 wiw_i。同一对城市之间可能有多条公路,也可能出现连接同一座城市的公路。

一条从城市 11 到城市 nn 的路径由若干条公路首尾相接组成,路径允许重复经过同一座城市或同一条公路。把一条路径经过的所有公路的损耗值从大到小排列,其中第 kk 个值称为这条路径的第 kk 大损耗;若路径包含的公路不足 kk 条,则规定它的第 kk 大损耗为 00。

车队按如下次序挑选路线:

  1. 在所有从 11 到 nn 的路径中,先让第 kk 大损耗尽可能小,记这个最小值为 XX;
  2. 再在所有第 kk 大损耗恰好为 XX 的路径中,让沿途损耗值之和尽可能小,记这个最小总和为 SS。

请你输出 XX 与 SS。如果城市 11 与城市 nn 之间不存在任何路径,输出 -1。

输入格式

从标准输入读入数据。

第一行三个整数 n,m,kn, m, k。

接下来 mm 行,每行三个整数 ui,vi,wiu_i, v_i, w_i,表示一条连接 uiu_i 与 viv_i、损耗值为 wiw_i 的双向公路。

输出格式

输出到标准输出。

输出一行两个整数 XX 与 SS;若不存在路径,输出 -1。

样例 1 输入

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

样例 1 输出

1 6

样例 1 解释

路径 1→2→41 \to 2 \to 4 经过损耗值为 11 与 55 的两条公路,第 22 大损耗为 11,损耗值之和为 66。

路径 1→3→41 \to 3 \to 4 的第 22 大损耗为 33;路径 1→2→3→41 \to 2 \to 3 \to 4 经过三条公路,损耗值为 1,2,31, 2, 3,第 22 大损耗为 22。

可以验证不存在第 22 大损耗为 00 的路径,因此 X=1X = 1;在所有第 22 大损耗为 11 的路径中,损耗值之和最小为 66,输出 1 6。

样例 2 输入

3 1 1
1 2 4

样例 2 输出

-1

数据范围

测试点编号 nn mm kk 特殊性质
1∼41 \sim 4 ≤10\le 10 ≤20\le 20 ≤3\le 3 无
5∼85 \sim 8 ≤200\le 200 ≤1000\le 1000
9∼129 \sim 12 ≤20000\le 20000 ≤105\le 10^5 =1= 1 A
13∼1613 \sim 16 ≤10\le 10 B
17∼2017 \sim 20 无

特殊性质 A:k=1k = 1。

特殊性质 B:所有公路的损耗值都相等。

对于所有测试数据,2≤n≤200002 \le n \le 20000,1≤m≤1051 \le m \le 10^5,1≤k≤101 \le k \le 10,1≤wi≤1091 \le w_i \le 10^9。XX 与 SS 都可能超过 231−12^{31} - 1。

提交说明

本题使用标准输入输出。程序应从标准输入读入数据,并将答案输出到标准输出。

CSP-S 复赛模拟 · 第一套

未参加
状态
已结束
规则
OI
题目
4
开始于
2026-10-1 14:30
结束于
2026-10-1 18:30
持续时间
4 小时
主持人
参赛人数
0