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:
- Mỗi bông hoa chỉ được sử dụng một lần.
- Mỗi lọ chỉ có thể cắm một bông hoa.
- Bông hoa ~i~ chỉ được cắm vào lọ ~j~ nếu ~h[i] >= l[j]~.
- 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~ ~(1 ≤ n ≤ 1000)~ và ~m~ ~(1 ≤ m ≤ 1000)~: 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
4 3
10 15 12 20
5 7 6 10
10 15 20
Output
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