[Buổi 16][Sắp xếp & tìm kiếm][RDD] Bài 13: Độ Ngon Tối Đa
Độ Ngon Tối Đa
Bối cảnh
Một tiệm bánh mới mở ra và nhận được rất nhiều đánh giá tích cực. Bạn, trong hành trình tìm kiếm độ ngon, sẽ đến đó để thưởng thức.
Yêu cầu
Tiệm bánh có N loại bánh ngọt. Với con mắt tinh tường của mình, bạn đánh giá rằng chiếc bánh thứ i có độ ngon là Ai.
Tất nhiên, bạn muốn ăn những chiếc bánh có tổng độ ngon cao nhất có thể. Tuy nhiên, bạn không thể mua hết tất cả các loại bánh.
Có K khách hàng trong cửa hàng, bao gồm cả bạn. Họ xếp hàng để đặt mua bánh, và bạn là người đứng thứ L trong hàng.
Mỗi khách hàng, bao gồm cả bạn, sẽ làm theo quy trình sau:
- Trong số những chiếc bánh còn lại, mua chiếc bánh có độ ngon cao nhất.
- Sau đó, di chuyển xuống cuối hàng chờ.
Quá trình này sẽ lặp lại cho đến khi tất cả bánh được bán hết.
Tổng độ ngon của những chiếc bánh mà bạn mua là bao nhiêu?
Input
Dòng đầu tiên của dữ liệu vào chứa một số nguyên T — số lượng bộ dữ liệu (test cases).
Mỗi bộ dữ liệu gồm hai dòng:
- Dòng đầu tiên chứa ba số nguyên N, K, và L — số lượng bánh, số người trong cửa hàng, và vị trí ban đầu của bạn trong hàng chờ.
- Dòng thứ hai chứa N số nguyên A1, A2, ..., AN — độ ngon của từng chiếc bánh.
Output
Với mỗi bộ dữ liệu, in ra trên một dòng riêng tổng độ ngon của những chiếc bánh mà bạn mua.
Ràng buộc
- 1 ≤ T ≤ 105
- 1 ≤ L ≤ K ≤ N ≤ 2 ⋅ 105
- 1 ≤ Ai ≤ 109
Tổng của tất cả N qua mọi bộ dữ liệu không vượt quá 2 ⋅ 105.
Ví dụ 1
Input
4
4 2 1
3 8 6 14
4 2 2
3 8 6 14
5 3 3
8 5 9 11 49
4 1 1
9 30 1 18
Output
20
11
9
58
Giải thích ví dụ
Ví dụ 1: Có 4 loại bánh và 2 người xếp hàng. Bạn là người đầu tiên. Quá trình diễn ra như sau:
- Đầu tiên, bạn mua chiếc bánh ngon nhất, là chiếc có độ ngon 14. Bạn di chuyển xuống cuối hàng.
- Sau đó, người kia mua chiếc bánh ngon nhất còn lại, là chiếc có độ ngon 8. Người đó di chuyển xuống cuối hàng, và bạn lại đứng trước.
- Bạn mua chiếc bánh ngon nhất còn lại, là chiếc có độ ngon 6, và di chuyển xuống cuối hàng.
- Người kia mua chiếc bánh duy nhất còn lại, và quá trình kết thúc.
Tổng độ ngon của những chiếc bánh bạn mua là 14 + 6 = 20.
Ví dụ 2: Đây là trường hợp tương tự ví dụ 1, nhưng bạn bắt đầu đứng thứ hai. Điều này có nghĩa là bạn sẽ lấy hai chiếc bánh khác, với tổng độ ngon là 3 + 8 = 11.
Ví dụ 3: Bạn đứng thứ ba trong hàng. Hai người đầu tiên sẽ mua các chiếc bánh có độ ngon 49 và 11 tương ứng, vì vậy lựa chọn tốt nhất của bạn là mua chiếc có độ ngon 9. Hai người còn lại sẽ mua các chiếc bánh còn lại.
Ví dụ 4: Bạn là người duy nhất trong hàng, vì vậy bạn có thể mua tất cả các chiếc bánh.
Thông tin học tập
- Buổi: B16
- Concepts: sorting, position-based selection
- Giới hạn kiến thức: B01-B16
- Time limit: 2 seconds
- Memory limit: 64 MB
- Point: 20
Comments