[Buổi 12][Chia để trị][HW] Bài 3: Cặp vượt ngưỡng chênh lệch
Cặp vượt ngưỡng chênh lệch
Bối cảnh và bài toán
Hai bản ghi i<j tạo một cảnh báo nếu giá trị trước lớn hơn giá trị sau nhiều hơn ngưỡng K, tức a[i] > a[j] + K. Cần đếm toàn bộ cảnh báo mà không kiểm từng cặp.
Yêu cầu
Đếm số cặp (i,j) thỏa điều kiện.
Input
- Dòng 1:
n K. - Dòng 2:
nsốa[i].
Output
In số cặp cảnh báo.
Ràng buộc
1 <= n <= 2 * 10^5|a[i]| <= 10^9|K| <= 10^9
Chấm điểm
| Subtask | Điểm | Điều kiện | Official tests |
|---|---|---|---|
| S1 | 20% | n ≤ 2 * 10^3 | 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
5 2
8 3 6 1 5
Output
4
Giải thích. Các cặp hợp lệ là (8,3), (8,1), (8,5), (6,1).
Ví dụ 2
Input
4 0
4 3 2 1
Output
6
Giải thích. K=0 biến điều kiện thành inversion thông thường; dãy giảm có 6 cặp.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M04-B12-HW03 |
| Buổi | B12 |
| Loại bài | HOMEWORK |
| Mức độ khó | Trung bình (Medium) |
| Thời gian làm bài khuyến nghị | 50 phút |
| Time limit | 3 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