logo AlgoBeat OnlineJudge
登录 注册

#215389. [NHSPC 2025] 電動車充電規劃問題

内存限制:512 MiB 时间限制:3000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

小明買了一台電動車,其電池容量為 。小明知道電動車的初始電量 ,他要規劃從起點開到終點的路線,使得所需的充電費用越少越好。電動車在一些路段會耗電(如平路或是上坡),在一些路段會充電(如下坡)。這些充電路段是不會收費的。我們用一個有向圖表示地圖,邊的權重代表電動車開過此邊會讓電量增加或減少,如果開過此邊會充電,則邊的權重為一個正數,反之如果開過此邊會耗電,則邊的權重為一個負數。我們假設圖沒有正環。

電動車在行駛時,電量需要永遠大於等於 ,而且無論充電量多大,電量最多為 。更明確地說,令 為電動車目前電量,並考慮一個權重為 的邊:如果 非負數,則電動車一定可以開過此邊(即使電量 ),且剩餘電量為 ;如果 是負數,且 ,則電動車可以開過此邊,且開過此邊後的剩餘電量為 ;然而,如果 ,則電動車無法開過此邊。

地圖上有一些節點是充電站,小明可以經過多個充電站,因為充電要花時間找充電樁,小明決定路途中最多只用一個充電站充電。充電一單位的價格是一塊錢,小明的目標是花最少的錢到達目的地。

舉例來說,考慮以下三個圖,我們用方形節點代表充電站,圓形節點則無法充電。假設電池容量 ,起點為 ,終點為 ,且初始電量為

在下圖中,電動車可以從 抵達 ,且最小充電費用為

:::align{center} :::

在下圖中,電動車無法從 抵達

:::align{center} :::

在下圖中,電動車可以從 抵達 ,且最小充電費用為

:::align{center} :::

输入格式

  • 為節點數。
  • 為邊數。
  • 為起點編號。
  • 為終點編號。
  • 為電池容量。
  • 為電池初始電量。
  • 代表圖中有一個邊由節點 至節點 ,且權重為
  • 為充電站個數。
  • 為第 個充電站的節點編號。

输出格式

  • 代表最少所需的充電費用。如果不存在路徑抵達終點,則

样例

样例输入 1

6 5 1 6
100 20
1 2 -5
2 3 10
3 4 -25
4 5 5
5 6 -5
1 4

样例输出 1

0

样例输入 2

7 7 1 7
100 20
1 2 -15
2 3 200
3 4 -60
3 5 -80
4 6 -70
5 6 -40
6 7 20
1 6

样例输出 2

-1

样例输入 3

7 7 1 7
100 20
1 2 -10
2 3 -5
3 4 -20
3 5 -30
4 6 -40
5 6 -10
6 7 20
1 3

样例输出 3

35

样例输入 4

7 7 1 7
100 60
1 2 -10
2 3 -5
3 4 -20
3 5 -30
4 6 -40
5 6 -10
6 7 -5
0

样例输出 4

0

数据范围与提示

測資限制

  • ,且
  • 保證圖沒有正環。
  • 輸入的數皆為整數。

評分說明

本題共有四組子任務,條件限制如下所示。 每一組可有一或多筆測試資料,該組所有測試資料皆需答對才會獲得該組分數。

子任務 分數 額外輸入限制
1 15 輸入滿足所有路段都不會充電,即 , 且沒有充電站,即
2 30 輸入滿足所有路段都不會充電,即
3 23 輸入滿足沒有充電站,即
4 32 無額外限制。