P4524 [COCI 2017/2018 #4] Ceste

Background

**原题时限2.5s**

Description

There’s a country with N cities and M bidirectional roads. Driving on road i takes $T_i$ minutes, and costs $C_i$ kunas (Croatian currency). To make the arrival to the holiday destination as pleasant as possible, you want to make it as fast and as cheap as possible. More specifically, you are in city 1 and want to minimize the product of total money spent and total time spent (overall, with all roads you drove on) in getting to a city from city 1. For each city (except city 1), output the required minimal product or -1 if city 1 and that city aren’t connected.

Input Format

The first line of input contains numbers N (1 ≤ N ≤ 2000), the number of cities, and M (1 ≤ M ≤ 2000), the number of roads. Each of the following M lines contains four numbers,$A_i,B_i,T_i,C_i,(1≤A_i,B_i≤N,1≤T_i,C_i≤2000)$ that denote there is a road connecting cities $A_i$ and $B_i$ , that it takes $T_i$ minutes to drive on it, and it costs $C_i$ kunas. It is possible that multiple roads exist between two cities, but there will never be a road that connects a city with itself.

Output Format

You must output N - 1 lines. In the $i^{th}$ line, output the required minimal product in order to get to city (i + 1), or -1 if cities 1 and (i + 1) aren’t connected.

Explanation/Hint

In test cases worth 40% of total points, it will hold $1 ≤ N, M, T_i, C_i ≤ 100$. **Clarification of the second test case:** In order to get to city 2, you need to drive on road 1, for that it takes 1 minute and 7 kunas, so the required product is 7. In order to get to city 3, you need to drive on road 2, for that it takes 3 minutes and 2 kunas, so the required product is 6. In order to get to city 4, you need to drive on roads 2, 4, 5, in that order, and for that it takes a total of 11 minutes and 4 kunas, so the required product is 44.