[Buổi 12][Chia để trị][HW] Bài 3: Cặp vượt ngưỡng chênh lệch


LÀM BÀI

Points: 100
Time limit: 3.0s
Memory limit: 256M

Author:
Problem types

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: n số 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

There are no comments at the moment.

Zalo