Phiếu Giảm Giá
Xem dạng PDFPer muốn mua ~n~ sản phẩm có giá lần lượt là ~a_1, a_2, \ldots, a_n~. Với mỗi sản phẩm, Per có thể:
- mua riêng lẻ, trả đúng ~a_i~ đồng; hoặc
- dùng một phiếu giảm giá để mua nó theo nhóm.
Per có ~k~ phiếu giảm giá với giá trị ~b_1, b_2, \ldots, b_k~. Một phiếu giá trị ~x~ cho phép chọn đúng ~x~ sản phẩm và chỉ trả tiền cho ~x - 1~ sản phẩm đắt nhất trong nhóm đó — nghĩa là sản phẩm rẻ nhất trong nhóm được miễn phí. Mỗi sản phẩm thuộc tối đa một nhóm (kể cả khi nó không phải sản phẩm được miễn phí), và mỗi phiếu chỉ được dùng tối đa một lần. Per không bắt buộc phải dùng hết các phiếu.
Hãy tính tổng chi phí nhỏ nhất để Per mua được cả ~n~ sản phẩm.
Dữ liệu vào
Dòng đầu tiên chứa số nguyên ~t~ — số bộ test. Mỗi bộ test gồm ba dòng:
- Dòng thứ nhất chứa hai số nguyên ~n~ và ~k~ — số sản phẩm và số phiếu giảm giá.
- Dòng thứ hai chứa ~n~ số nguyên ~a_1, a_2, \ldots, a_n~ — giá các sản phẩm.
- Dòng thứ ba chứa ~k~ số nguyên ~b_1, b_2, \ldots, b_k~ — giá trị các phiếu giảm giá.
Kết quả
In ra ~t~ dòng, dòng thứ ~i~ là tổng chi phí nhỏ nhất của bộ test thứ ~i~.
Ví dụ
Đầu vào:
5
5 3
18 3 7 2 9
3 1 1
6 1
1 2 6 3 3 4
5
2 3
1 1
2 2 2
1 1
10
1
5 3
99 99 999 999 123
2 1 4
Đầu ra:
10
17
1
0
1197
Giải thích: Ở bộ test thứ nhất, dùng phiếu ~3~ cho các sản phẩm ~2, 3, 4~ (giá ~3, 7, 2~): trả cho hai sản phẩm đắt nhất ~3 + 7 = 10~ đồng, sản phẩm giá ~2~ được miễn phí. Hai phiếu giá trị ~1~ dùng cho sản phẩm ~1~ và ~5~, mỗi nhóm chỉ có một sản phẩm nên nó chính là sản phẩm rẻ nhất và được miễn phí. Tổng cộng ~10~ đồng.
Ở bộ test thứ hai, dùng phiếu duy nhất cho các sản phẩm ~2, 3, 4, 5, 6~; sản phẩm rẻ nhất trong nhóm có giá ~2~ được miễn phí, còn lại trả ~1 + 6 + 3 + 3 + 4 = 17~ đồng.
Ở bộ test thứ ba, dùng phiếu ~2~ cho cả hai sản phẩm, được miễn một sản phẩm và trả ~1~ đồng.
Giới hạn
- ~1 \le t \le 10^4~
- ~1 \le n, k \le 2 \cdot 10^5~
- ~1 \le a_i \le 10^9~
- ~1 \le b_i \le n~
- Tổng ~n~ và tổng ~k~ trên tất cả các bộ test đều không vượt quá ~2 \cdot 10^5~.
Bình luận