[Buổi 18][Heap & Hàng đợi ưu tiên][HW] Bài 1: Phần tử lớn thứ k của dòng dữ liệu
Phần tử lớn thứ k của dòng dữ liệu
Bối cảnh và bài toán
Một dòng dữ liệu đến lần lượt. Sau mỗi lần nhận ít nhất k giá trị, hệ thống phải báo phần tử lớn thứ k trong toàn bộ prefix đã nhận.
Yêu cầu
Với mỗi prefix độ dài từ k đến n, in giá trị lớn thứ k.
Input
- Dòng 1:
n k. - Dòng 2:
nsố nguyên theo thứ tự đến.
Output
In n-k+1 giá trị.
Ràng buộc
1 <= k <= n <= 2 * 10^5|a[i]| <= 10^9
Chấm điểm
| Subtask | Điểm | Điều kiện | Official tests |
|---|---|---|---|
| S1 | 30% | n <= 100 | 01–03 |
| S2 | 30% | n <= 5000 | 04–06 |
| S3 | 40% | Không có ràng buộc bổ sung | 07–10 |
Ví dụ 1
Input
6 3
5 1 9 3 8 7
Output
1 3 5 7
Giải thích. Các prefix độ dài 3..6 có phần tử lớn thứ 3 lần lượt là 1,3,5,7.
Ví dụ 2
Input
5 1
4 2 9 1 7
Output
4 4 9 9 9
Giải thích. k=1 nghĩa là maximum của mỗi prefix.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M05-B18-HW01 |
| Buổi | B18 |
| Loại bài | HOMEWORK |
| Mức độ khó | Dễ (Easy) |
| Thời gian làm bài khuyến nghị | 30 phút |
| Time limit | 2 giây |
| Memory limit | 256 MB |
| Tổng điểm | 100 |
| Chuẩn ngôn ngữ tham chiếu | C++11 trở lên |
Nguồn: FULLHOUSE DEV – Self-generated.
Comments