CF229B.Planets

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

Goa'uld Apophis captured Jack O'Neill's team again! Jack himself was able to escape, but by that time Apophis's ship had already jumped to hyperspace. But Jack knows on what planet will Apophis land. In order to save his friends, Jack must repeatedly go through stargates to get to this planet.

Overall the galaxy has nn planets, indexed with numbers from 1 to nn . Jack is on the planet with index 1, and Apophis will land on the planet with index nn . Jack can move between some pairs of planets through stargates (he can move in both directions); the transfer takes a positive, and, perhaps, for different pairs of planets unequal number of seconds. Jack begins his journey at time 0.

It can be that other travellers are arriving to the planet where Jack is currently located. In this case, Jack has to wait for exactly 1 second before he can use the stargate. That is, if at time tt another traveller arrives to the planet, Jack can only pass through the stargate at time t+1t+1 , unless there are more travellers arriving at time t+1t+1 to the same planet.

Knowing the information about travel times between the planets, and the times when Jack would not be able to use the stargate on particular planets, determine the minimum time in which he can get to the planet with index nn .

输入格式

The first line contains two space-separated integers: nn ( 2<=n<=1052<=n<=10^{5} ), the number of planets in the galaxy, and mm ( 0<=m<=1050<=m<=10^{5} ) — the number of pairs of planets between which Jack can travel using stargates. Then mm lines follow, containing three integers each: the ii -th line contains numbers of planets aia_{i} and bib_{i} ( 1<=ai,bi<=n1<=a_{i},b_{i}<=n , aibia_{i}≠b_{i} ), which are connected through stargates, and the integer transfer time (in seconds) cic_{i} ( 1<=ci<=1041<=c_{i}<=10^{4} ) between these planets. It is guaranteed that between any pair of planets there is at most one stargate connection.

Then nn lines follow: the ii -th line contains an integer kik_{i} ( 0<=ki<=1050<=k_{i}<=10^{5} ) that denotes the number of moments of time when other travellers arrive to the planet with index ii . Then kik_{i} distinct space-separated integers tijt_{ij} ( 0<=t_{ij}<10^{9} ) follow, sorted in ascending order. An integer tijt_{ij} means that at time tijt_{ij} (in seconds) another traveller arrives to the planet ii . It is guaranteed that the sum of all kik_{i} does not exceed 10510^{5} .

输出格式

Print a single number — the least amount of time Jack needs to get from planet 1 to planet nn . If Jack can't get to planet nn in any amount of time, print number -1.

输入输出样例

  • 输入#1

    4 6
    1 2 2
    1 3 3
    1 4 8
    2 3 4
    2 4 5
    3 4 3
    0
    1 3
    2 3 4
    0
    

    输出#1

    7
    
  • 输入#2

    3 1
    1 2 3
    0
    1 3
    0
    

    输出#2

    -1
    

说明/提示

In the first sample Jack has three ways to go from planet 1. If he moves to planet 4 at once, he spends 8 seconds. If he transfers to planet 3, he spends 3 seconds, but as other travellers arrive to planet 3 at time 3 and 4, he can travel to planet 4 only at time 5, thus spending 8 seconds in total. But if Jack moves to planet 2, and then — to planet 4, then he spends a total of only 2+5=72+5=7 seconds.

In the second sample one can't get from planet 1 to planet 3 by moving through stargates.

首页