[Buổi 17][Cấu trúc đơn điệu][HW] Bài 2: Cực tiểu trên cửa sổ trượt
Cực tiểu trên cửa sổ trượt
Bối cảnh và bài toán
Một chuỗi đo được quan sát bằng cửa sổ kích thước cố định k. Với mỗi vị trí cửa sổ từ trái sang phải, cần báo giá trị nhỏ nhất trong cửa sổ hiện tại.
Yêu cầu
In minimum của từng cửa sổ độ dài k.
Input
- Dòng 1:
n k. - Dòng 2:
nsốa[i].
Output
In n-k+1 giá trị minimum.
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 | 20% | n <= 2000 | 01–04 |
| S2 | 30% | n <= 5 * 10^4 | 05–10 |
| S3 | 50% | Không có ràng buộc bổ sung | 11–20 |
Ví dụ 1
Input
8 4
2 1 4 5 3 4 1 2
Output
1 1 3 1 1
Giải thích. Minimum của các cửa sổ [2,1,4,5], [1,4,5,3], ... lần lượt như output.
Ví dụ 2
Input
5 1
5 4 3 2 1
Output
5 4 3 2 1
Giải thích. Cửa sổ kích thước 1 có minimum chính là phần tử đó.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M05-B17-HW02 |
| Buổi | B17 |
| Loại bài | HOMEWORK |
| Mức độ khó | Trung bình (Medium) |
| Thời gian làm bài khuyến nghị | 45 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: Phỏng theo CSES Problem Set – Sliding Window Minimum.
Tham khảo: https://www.cses.fi/problemset/task/3221
Comments