[Buổi 17][Cấu trúc đơn điệu][WS] Bài 1: Giá trị nhỏ hơn gần nhất bên trái
Giá trị nhỏ hơn gần nhất bên trái
Bối cảnh và bài toán
Với mỗi điểm đo trong dãy, hệ thống cần tìm điểm gần nhất về bên trái có giá trị nhỏ hơn hiện tại. Nếu không có, trả 0.
Yêu cầu
Với mỗi vị trí i, in chỉ số 1-based gần nhất j<i sao cho a[j] < a[i], hoặc 0.
Input
- Dòng 1:
n. - Dòng 2:
nsố nguyêna[i].
Output
In n chỉ số.
Ràng buộc
1 <= n <= 2 * 10^51 <= 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
2 5 1 4 8 3 2 5
Output
0 1 0 3 4 3 3 7
Giải thích. Ví dụ vị trí 6 có giá trị 3; phần tử nhỏ hơn gần nhất bên trái là vị trí 3 có giá trị 1.
Ví dụ 2
Input
5
5 4 3 2 1
Output
0 0 0 0 0
Giải thích. Không vị trí nào có phần tử nhỏ hơn ở bên trái.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M05-B17-WS01 |
| Buổi | B17 |
| Loại bài | WORKSHOP |
| Mức độ khó | Trung bình (Medium) |
| Thời gian làm bài khuyến nghị | 40 phút |
| Time limit | 1 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 – Nearest Smaller Values.
Tham khảo: https://cses.fi/problemset/task/1645
Comments