Tưới cây

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, Python, Rust

Tưới cây

Công ty CT được giao nhiệm vụ tưới cây trên một tuyến đường có trồng ~N~ cây xanh. Cây xanh thứ ~i~ cần một lượng nước là ~a_i~ và có mức độ ưu tiên là ~p_i~.

Do hệ thống nước gặp sự cố, trong ngày hôm nay công ty chỉ có thể huy động được tổng cộng ~M~ đơn vị nước. Những cây có độ ưu tiên cao hơn, tức là có ~p_i~ nhỏ hơn, phải được tưới trước.

Cây xanh thứ ~i~ được gọi là tưới đầy đủ nếu nhận đủ lượng nước ~a_i~. Hãy cho biết số lượng cây xanh nhiều nhất được tưới đầy đủ.

Dữ liệu vào (Input)

Đọc từ tệp văn bản TCAY.INP:

  • Dòng đầu gồm hai số nguyên ~N~ và ~M~.
  • Dòng thứ hai gồm ~N~ số nguyên ~a_i~, là lượng nước cần thiết của các cây.
  • Dòng cuối gồm ~N~ số nguyên ~p_i~, là mức độ ưu tiên của các cây.
Kết quả (Output)

Ghi vào tệp văn bản TCAY.OUT một số nguyên cho biết số lượng cây xanh được tưới đầy đủ.

Ví dụ

TCAY.INP

6 10
5 1 2 2 1 2
1 2 1 1 3 1

TCAY.OUT

3

Các cây ở vị trí 1, 3, 4 được tưới đủ, sử dụng 9 đơn vị nước. Một đơn vị nước còn lại được tưới cho cây ở vị trí 6 nhưng không đủ lượng nước cần thiết của cây này, nên không được tính.

Giới hạn

  • ~1 ≤ N ≤ 2 × 10^5~.
  • ~1 ≤ M ≤ 10^9~.
  • ~1 ≤ a_i ≤ 10^6~ với ~1 ≤ i ≤ N~.
  • ~1 ≤ p_i ≤ N~ với ~1 ≤ i ≤ N~.

Đang tải...