Bài 2. Cân bằng (HSG 9 Hà Nội 2025-2026)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 900 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho dãy số nguyên \(A\) gồm \(N\) phần tử phân biệt \(A_1, A_2, ..., A_N\) và số nguyên dương \(K\). Phần tử \(A_i\) được gọi là "cân bằng \(K\)" nếu trong dãy xuất hiện phần tử có giá trị bằng \(A_i + K\) và \(A_i - K\). Ví dụ dãy số \(5, 2, 4, 6\) và \(K = 1\) thì có \(1\) phần tử cân bằng là \(5\) vì dãy số có phần tử là \(5 - 1 = 4\) và \(5 + 1 = 6\).

Yêu cầu: Đếm số lượng phần tử "cân bằng \(K\)" của dãy số \(A\).

Input

  • Dòng đầu tiên chứa hai số nguyên dương \(N\) và \(K\) (\(N \leq 10^5; K \leq 10^9\))
  • Dòng thứ hai chứa \(N\) số nguyên \(A_1, A_2, ..., A_N\) (\(|A_i| \leq 10^9, 1 \leq i \leq N\))

Output

  • In ra một số nguyên là kết quả của bài toán.

Example

Test 1

Input
6 1
4 1 7 8 5 6
Output
3
Note

Có 3 phần tử 5, 6 và 7 là "cân bằng \(K\)".

Test 2

Input
6 2
4 -1 7 8 5 6
Output
1
Note

Có 1 phần tử 6 là "cân bằng \(K\)".

Scoring

  • \(70\%\) số test ứng với \(70\%\) số điểm có \(K = 1; N \leq 10^3\) và \(0 \leq A_i \leq 10^3\)
  • \(20\%\) số test tiếp theo ứng với \(20\%\) số điểm có \(K = 1; 0 \leq A_i \leq 10^6\)
  • \(10\%\) số test còn lại ứng với \(10\%\) số điểm không có ràng buộc gì thêm

Bình luận (1)

Mới nhất
Tải bình luận...

Kỳ thi: