atcoder#ABC250H. [ABC250Ex] Trespassing Takahashi

[ABC250Ex] Trespassing Takahashi

配点 : 600600

問題文

11 から NN までの番号がついた NN 個の地点と MM 本の道があります。 i(1iM)i \, (1 \leq i \leq M) 番目の道は地点 aia_i と地点 bib_i を双方向に結んでいて、通過に cic_i 分かかります。すべての地点同士は道を何本か通って行き来出来ます。また、地点 1,,K1,\ldots, K には家があります。

i=1,,Qi=1,\ldots,Q に対し、次の問題を解いてください。

地点 xix_i の家にいる高橋君が地点 yiy_i の家に移動しようとしている。 高橋君は最後に睡眠を取ってから道の移動にかかった時間が tit_i 分を超えると移動が出来なくなる。 睡眠を取れる場所は家がある地点のみであるが、回数に制限は無い。 高橋君が地点 xix_i から地点 yiy_i まで移動出来るならば Yes と、出来ないならば No と出力せよ。

制約

  • 2KN2×1052 \leq K \leq N \leq 2 \times 10^5
  • $N-1 \leq M \leq \min (2 \times 10^5, \frac{N(N-1)}{2})$
  • 1ai<biN1 \leq a_i \lt b_i \leq N
  • iji \neq j ならば (ai,bi)(aj,bj)(a_i,b_i) \neq (a_j,b_j)
  • 1ci1091 \leq c_i \leq 10^9
  • すべての地点同士は道を何本か通って行き来出来る
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 1xi<yiK1 \leq x_i \lt y_i \leq K
  • 1t1tQ10151 \leq t_1 \leq \ldots \leq t_Q \leq 10^{15}
  • 入力は全て整数

入力

入力は以下の形式で標準入力から与えられる。

NN MM KK

a1a_1 b1b_1 c1c_1

\vdots

aMa_M bMb_M cMc_M

QQ

x1x_1 y1y_1 t1t_1

\vdots

xQx_Q yQy_Q tQt_Q

出力

QQ 行出力せよ。 ii 行目には、ii 番目の問題に対する出力をせよ。

6 6 3
1 4 1
4 6 4
2 5 2
3 5 3
5 6 5
1 2 15
3
2 3 4
2 3 5
1 3 12
No
Yes
Yes

33 番目の問題において、地点 11 から地点 33 に直接向かうと 1313 分以上かかります。しかし、 1212 分かけて地点 22 に移動し、そこにある家で睡眠を取ってから地点 33 に移動することが出来ます。よって、答えは Yes となります。