Bài 2. Trạm xăng

Xem dưới dạng PDF

Gửi bài giải

Điểm: 70
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M

Tác giả:
Kiểu bài tập

Trại hè ở Cần Thơ đã bắt đầu, nhưng anh Thái vẫn đang ghé thăm các nhà hàng ở Sóc Trăng. Muốn đốt cháy lượng calo mà anh đã tiêu thụ, anh quyết định đạp xe đến Cần Thơ.

Anh Thái bắt đầu hành trình từ Sóc Trăng (\(x = 0\)) với năng lượng ban đầu là \(D\) và muốn đến Cần Thơ, cách Sóc Trăng \(X\) mét (\(x = X\)). Mỗi mét của hành trình cần một đơn vị năng lượng. Để tránh ngất xỉu, năng lượng của anh không được trở thành âm tại bất kỳ thời điểm nào trong chuyến đi.

Có \(n\) nhà hàng dọc đường, với nhà hàng thứ \(i\) nằm ở mét thứ \(x_i\) từ điểm xuất phát. Nhiều nhà hàng có thể nằm ở cùng một vị trí. Nếu anh Thái quyết định ăn tại nhà hàng thứ \(i\), năng lượng của anh tăng thêm \(y_i\). Anh không thể ăn tại cùng một nhà hàng nhiều lần.

Giúp anh xác định số lượng nhà hàng tối thiểu mà anh phải ăn để đến Cần Thơ một cách an toàn.

Dữ liệu vào

  • Trong dòng đầu tiên, có ba số nguyên \(n, D\) và \(X\) \((1 \le n \le 2 \times 10^5, 1 \le D, X \le 10^9)\), đại diện cho số lượng nhà hàng, năng lượng ban đầu và khoảng cách giữa các thành phố.
  • Trong dòng thứ hai, có \(n\) số nguyên \(x_i\) \((1 \le x_i \lt X)\), đại diện cho vị trí của các nhà hàng.
  • Trong dòng thứ ba, có \(n\) số nguyên \(y_i\) \((1 \le y_i \le 10^9)\), đại diện cho năng lượng mà anh Thái nhận được khi ăn tại mỗi nhà hàng tương ứng.

Dữ liệu ra

Trong một dòng duy nhất, in ra số lượng nhà hàng tối thiểu mà anh Thái phải ăn để đến Cần Thơ một cách an toàn. Nếu không thể đến Cần Thơ, in '-1' (không có dấu ngoặc kép).

Chấm điểm

Subtask Điểm Ràng buộc
1 15 \(y_i = y_j\) với mọi \(i, j\)
2 30 \(n \le 1 000\)
3 25 Không có ràng buộc bổ sung.

Input 1

5 5 12
3 4 7 8 11
3 2 1 2 1

Output 1

3

Input 1

5 10 40
1 20 30 2 38
7 7 7 7 7

Output 1

5

Input 1

4 5 12
3 6 9 10
2 1 2 2

Output 1

-1

Giải thích ví dụ thứ nhất: Tại \(x = 3\), anh Thái sẽ có \(2\) đơn vị năng lượng còn lại. Tại nhà hàng đầu tiên, anh sẽ ăn, và năng lượng của anh sẽ tăng lên \(2 + 3 = 5\). Tại \(x = 4\), anh sẽ có \(4\) đơn vị năng lượng còn lại. Tại nhà hàng thứ hai, anh sẽ ăn, và năng lượng của anh sẽ tăng lên \(4 + 2 = 6\). Tại \(x = 8\), anh sẽ có \(2\) đơn vị năng lượng còn lại. Tại nhà hàng thứ tư, anh sẽ ăn, và năng lượng của anh sẽ tăng lên \(2 + 2 = 4\). Tổng cộng, anh đã ăn tại ba nhà hàng.


Nhận xét

Không có ý kiến tại thời điểm này.