URI Online Judge | 3027

Workout Plan

By Microsoft RS Andorra

Timelimit: 1

Alan decided to get in shape for the summer, so he created a precise workout plan to follow. His plan is to go to a different gym every day during the next N days and lift X[i] grams on day i. In order to improve his workout performance at the gym, he can buy exactly one pre-workout drink at the gym he is currently in and it will improve his performance by A grams permanently and immediately. In different gyms these pre-workout drinks can cost different amounts C[i] because of the taste and the gym’s location but its permanent workout gains are the same.

Before the first day of starting his workout plan, Alan knows he can lift a maximum of K grams. Help Alan spend a minimum total amount of money in order to reach his workout plan. If there is no way for him to complete his workout plan successfully output −1.


The first one contains two integer numbers, integers N (1 ≤ N ≤ 105 ) and K (1 ≤ K ≤ 105 ) – representing number of days in the workout plan and how many grams he can lift before starting his workout plan respectively. The second line contains N integer numbers X[i] (1 ≤ X[i] ≤ 109 ) separated by a single space representing how many grams Alan wants to lift on day i. The third line contains one integer number A (1 ≤ A ≤ 109 ) representing permanent performance gains from a single drink. The last line contains N integer numbers C[i] (1 ≤ C[i] ≤ 109 ) , representing cost of performance booster drink in the gym he
visits on day i.


One integer number representing minimal money spent to finish his workout plan. If he cannot finish his
workout plan, output -1.

Input Samples Output Samples

5 10000
10000 30000 30000 40000 20000
5 2 8 3 6


5 10000
10000 40000 30000 30000 20000
5 2 8 3 6