CF1253F.Cheap Robot

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You're given a simple, undirected, connected, weighted graph with nn nodes and mm edges.

Nodes are numbered from 11 to nn . There are exactly kk centrals (recharge points), which are nodes 1,2,,k1, 2, \ldots, k .

We consider a robot moving into this graph, with a battery of capacity cc , not fixed by the constructor yet. At any time, the battery contains an integer amount xx of energy between 00 and cc inclusive.

Traversing an edge of weight wiw_i is possible only if xwix \ge w_i , and costs wiw_i energy points ( x:=xwix := x - w_i ).

Moreover, when the robot reaches a central, its battery is entirely recharged ( x:=cx := c ).

You're given qq independent missions, the ii -th mission requires to move the robot from central aia_i to central bib_i .

For each mission, you should tell the minimum capacity required to acheive it.

输入格式

The first line contains four integers nn , mm , kk and qq ( 2kn1052 \le k \le n \le 10^5 and 1m,q31051 \le m, q \le 3 \cdot 10^5 ).

The ii -th of the next mm lines contains three integers uiu_i , viv_i and wiw_i ( 1ui,vin1 \le u_i, v_i \le n , uiviu_i \neq v_i , 1wi1091 \le w_i \le 10^9 ), that mean that there's an edge between nodes uu and vv , with a weight wiw_i .

It is guaranteed that the given graph is simple (there is no self-loop, and there is at most one edge between every pair of nodes) and connected.

The ii -th of the next qq lines contains two integers aia_i and bib_i ( 1ai,bik1 \le a_i, b_i \le k , aibia_i \neq b_i ).

输出格式

You have to output qq lines, where the ii -th line contains a single integer : the minimum capacity required to acheive the ii -th mission.

输入输出样例

  • 输入#1

    10 9 3 1
    10 9 11
    9 2 37
    2 4 4
    4 1 8
    1 5 2
    5 7 3
    7 3 2
    3 8 4
    8 6 13
    2 3
    

    输出#1

    12
    
  • 输入#2

    9 11 3 2
    1 3 99
    1 4 5
    4 5 3
    5 6 3
    6 4 11
    6 7 21
    7 2 6
    7 8 4
    8 9 3
    9 2 57
    9 3 2
    3 1
    2 3
    

    输出#2

    38
    15
    

说明/提示

In the first example, the graph is the chain 1092C41C573C8610 - 9 - 2^C - 4 - 1^C - 5 - 7 - 3^C - 8 - 6 , where centrals are nodes 11 , 22 and 33 .

For the mission (2,3)(2, 3) , there is only one simple path possible. Here is a simulation of this mission when the capacity is 1212 .

  • The robot begins on the node 22 , with c=12c = 12 energy points.
  • The robot uses an edge of weight 44 .
  • The robot reaches the node 44 , with 124=812 - 4 = 8 energy points.
  • The robot uses an edge of weight 88 .
  • The robot reaches the node 11 with 88=08 - 8 = 0 energy points.
  • The robot is on a central, so its battery is recharged. He has now c=12c = 12 energy points.
  • The robot uses an edge of weight 22 .
  • The robot is on the node 55 , with 122=1012 - 2 = 10 energy points.
  • The robot uses an edge of weight 33 .
  • The robot is on the node 77 , with 103=710 - 3 = 7 energy points.
  • The robot uses an edge of weight 22 .
  • The robot is on the node 33 , with 72=57 - 2 = 5 energy points.
  • The robot is on a central, so its battery is recharged. He has now c=12c = 12 energy points.
  • End of the simulation.

Note that if value of cc was lower than 1212 , we would have less than 88 energy points on node 44 , and we would be unable to use the edge 414 \leftrightarrow 1 of weight 88 . Hence 1212 is the minimum capacity required to acheive the mission.

The graph of the second example is described here (centrals are red nodes):

The robot can acheive the mission (3,1)(3, 1) with a battery of capacity c=38c = 38 , using the path 39872765413 \rightarrow 9 \rightarrow 8 \rightarrow 7 \rightarrow 2 \rightarrow 7 \rightarrow 6 \rightarrow 5 \rightarrow 4 \rightarrow 1

The robot can acheive the mission (2,3)(2, 3) with a battery of capacity c=15c = 15 , using the path 278932 \rightarrow 7 \rightarrow 8 \rightarrow 9 \rightarrow 3

首页