#M1E. 星辰双晶传送

星辰双晶传送

题目背景

星空草原 的尽头,噜噜与“一只羊”发现了两种神秘水晶:

  • 幽蓝晶石(免费水晶)── 把传送带耗时变为 0;
  • 琥珀晶石(折扣水晶)── 把传送带耗时变为 w2\left\lfloor\frac{w}{2}\right\rfloor

问题描述

给定一张带正权有向图,顶点编号 1N1\ldots N。你可在出发前任选至多 A 条边安装幽蓝晶石、至多 B 条边安装琥珀晶石(两类不可重叠,同一条边至多安装一种)。旅途中走过已安装水晶的边时按优惠耗时,其余按原权耗时。求从 1 号羊圈到 NN 号羊圈的最短总耗时;若无法到达输出 1-1

输入格式

第一行 N M A B。 接下来 M 行,每行 u v w 表示一条有向边 uvu\to v,耗时 ww1w1091\le w\le10^{9})。

输出格式

一行一个整数——最短耗时;若不可达输出 -1

样例

5 6 1 1
1 2 5
2 5 7
1 3 2
3 4 2
4 5 2
3 2 1
2

样例解释 可以选择路径 1→2→5,共两条边,原权分别为 5 和 7。

  • 对边 2→5 使用“免费水晶”,耗时变为 0;
  • 对边 1→2 使用“折扣水晶”,耗时变为 ⌊5/2⌋ = 2; 因此总耗时为 0 + 2 = 2。 (也可选路径 1→3→2→5:分别对 2→5 用免费,对 1→3 或 3→2 用折扣,结果同样为 2。)

数据范围与约定

  • 1N1000001\le N\le100\,0001M3000001\le M\le300\,000
  • 0A,B300\le A,B\le30,且 A+B1A+B\ge1
  • 保证不存在负权边与负环
  • 保证图随机生成
子任务 分值 特殊性质
1 10%10\% N300,  M600,  A,B1N\le300,\;M\le600,\;A,B\le1
2 15%15\% B=0B=0(仅免费)
3 A=0A=0(仅折扣)
4 25%25\% wi100w_i\le100A,B10A,B\le10
5 35%35\% 无额外限制