Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Bạn là nhân viên tại một cửa hàng hoa, nơi cung cấp dịch vụ cắm hoa nghệ thuật. Bài toán được giao là:

  • Cửa hàng có n bông hoa khác nhau. Mỗi bông hoa i có:

    • Chiều cao: h[i],
    • Giá trị thẩm mỹ: v[i].
  • Ngoài ra, bạn có m chiếc lọ. Mỗi chiếc lọ j có chiều cao tối thiểu để có thể cắm bông hoa lên: l[j].

Yêu cầu:
  1. Mỗi bông hoa chỉ được sử dụng một lần.
  2. Mỗi lọ chỉ có thể cắm một bông hoa.
  3. Bông hoa i chỉ được cắm vào lọ j nếu h[i]>=l[j].
  4. Hãy tính tổng giá trị thẩm mỹ lớn nhất có thể đạt được.
Dữ liệu vào (Input):
  • Dòng đầu tiên chứa hai số nguyên n (1n1000)m (1m1000): số bông hoa và số chiếc lọ.
  • Dòng thứ hai chứa n số nguyên: chiều cao của từng bông hoa (h[1],h[2],...,h[n]).
  • Dòng thứ ba chứa n số nguyên: giá trị thẩm mỹ của từng bông hoa (v[1],v[2],...,v[n]).
  • Dòng thứ tư chứa m số nguyên: chiều cao tối thiểu của từng lọ (l[1],l[2],...,l[m]).
Dữ liệu ra (Output):

In ra một số nguyên duy nhất: tổng giá trị thẩm mỹ lớn nhất.

Ví dụ:

Input

Copy
4 3
10 15 12 20
5 7 6 10
10 15 20

Output

Copy
22
Giải thích:
  • Chọn bông hoa 1 (cao 10, giá trị 5) cho lọ 1 (yêu cầu cao ≥ 10).
  • Chọn bông hoa 2 (cao 15, giá trị 7) cho lọ 2 (yêu cầu cao ≥ 15).
  • Chọn bông hoa 4 (cao 20, giá trị 10) cho lọ 3 (yêu cầu cao ≥ 20).
  • Tổng giá trị thẩm mỹ: 5 + 7 + 10 = 22.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.