[VTT Q4 Contest 12] Bài 2: Xóa phần tử [DELK]
Xem dạng PDF
Gửi bài giải
Điểm:
2,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
DELK.INP
Output:
DELK.OUT
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python
Cho một mảng gồm ~n~ phần tử ~a_1, a_2, \dots, a_n~, các phần tử đôi một khác nhau.
Bạn phải thực hiện đúng ~k~ thao tác lên mảng. Mỗi thao tác chọn một trong hai cách:
- xóa đi hai phần tử có giá trị nhỏ nhất hiện đang có trong mảng;
- hoặc xóa đi một phần tử có giá trị lớn nhất hiện đang có trong mảng.
Hãy tìm tổng lớn nhất có thể của các phần tử còn lại trong mảng sau khi làm đủ ~k~ thao tác.
Dữ liệu
- Dòng đầu chứa hai số nguyên dương ~n~ và ~k~ (~3 \le n \le 2 \times 10^5~, ~1 \le k < 10^5~, ~2 \times k < n~): số phần tử của mảng và số thao tác phải thực hiện.
- Dòng thứ hai chứa ~n~ số nguyên dương ~a_1, a_2, \dots, a_n~ (~1 \le a_i \le 10^9~).
Kết quả
In ra một số nguyên là tổng lớn nhất có thể của các phần tử còn lại sau ~k~ thao tác.
Ví dụ
Ví dụ 1
DELK.INP
5 1
2 5 1 10 6
DELK.OUT
21
Ví dụ 2
DELK.INP
5 2
2 5 1 10 6
DELK.OUT
11
Giải thích: Ở ví dụ 1, xóa hai số nhỏ nhất là 1 và 2. Ở ví dụ 2, thao tác thứ nhất xóa số 10 (lớn nhất), thao tác thứ hai xóa hai số 1 và 2.
Bình luận