CF1801D.The way home

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

The famous magician Borya Budini traveled through the country XX , which consists of nn cities. However, an accident happened, and he was robbed in the city number 11 . Now Budini will have a hard way home to the city number nn .He's going to get there by plane. In total, there are mm flights in the country, ii -th flies from city aia_i to city bib_i and costs sis_i coins. Note that the ii -th flight is one-way, so it can't be used to get from city bib_i to city aia_i . To use it, Borya must be in the city aia_i and have at least sis_i coins (which he will spend on the flight).

After the robbery, he has only pp coins left, but he does not despair! Being in the city ii , he can organize performances every day, each performance will bring him wiw_i coins.

Help the magician find out if he will be able to get home, and what is the minimum number of performances he will have to organize.

输入格式

Each test consists of multiple test cases. The first line contains a single integer tt ( 1t801 \le t \le 80 ) – the number of test cases. The description of test cases follows.

The first line contains three integers nn , mm and pp ( 2n8002 \le n \le 800 , 1m30001 \le m \le 3000 , 0p1090 \le p \le 10^9 ) — the number of cities, the number of flights and the initial amount of coins.

The second line contains nn integers w1,w2,,wnw_1, w_2, \ldots, w_n (1wi109)(1 \le w_i \le 10^9) — profit from representations.

The following mm lines each contain three integers aia_i , bib_i and sis_i ( 1ai,bin1 \le a_i, b_i \le n , 1si1091 \le s_i \le 10^9 ) — the starting and ending city, and the cost of ii -th flight.

It is guaranteed that the sum of nn over all test cases does not exceed 800800 and the sum of mm over all test cases does not exceed 1000010000 .

输出格式

For each test case print a single integer — the minimum number of performances Borya will have to organize to get home, or 1-1 if it is impossible to do this.

输入输出样例

  • 输入#1

    4
    4 4 2
    7 4 3 1
    1 2 21
    3 2 6
    1 3 8
    2 4 11
    4 4 10
    1 2 10 1
    1 2 20
    2 4 30
    1 3 25
    3 4 89
    4 4 7
    5 1 6 2
    1 2 5
    2 3 10
    3 4 50
    3 4 70
    4 1 2
    1 1 1 1
    1 3 2

    输出#1

    4
    24
    10
    -1

说明/提示

In the first example, it is optimal for Borya to make 44 performances in the first city, having as a result 2+74=302 + 7 \cdot 4 = 30 coins, and then walk along the route 13241-3-2-4 , spending 6+8+11=256+8+11=25 coins. In the second example, it is optimal for Borya to make 1515 performances in the first city, fly to 33 city, make 99 performances there, and then go to 44 city.

首页