설명
왕국에 \(N\)명의 용사가 있다. 각 용사는 정수 전투력을 가지고 있다.
두 용사의 전투력 차이의 절댓값이 \(K\) 이하이면 두 용사는 '가까운 사이'라고 한다. 서로 다른 두 용사가 가까운 쌍의 수를 구하여라. 쌍은 순서를 구분하지 않으며, \((i, j)\)와 \((j, i)\)는 같은 쌍이다.
제약
- \(1 \le N \le 100\,000\)
- \(0 \le K \le 10^9\)
- 각 용사의 전투력은 \(1\) 이상 \(10^9\) 이하의 정수이다.
입력 형식
첫째 줄에 용사의 수 \(N\)과 정수 \(K\)가 공백으로 구분되어 주어진다.
둘째 줄에 \(N\)명의 용사의 전투력이 공백으로 구분되어 주어진다.
출력 형식
조건을 만족하는 두 용사 쌍의 수를 출력한다.
예제 1
입력
4 3
3 7 2 5
출력
4
설명
네 용사의 전투력은 \(3, 7, 2, 5\)이다. 차이가 \(3\) 이하인 쌍을 모두 나열하면 \((3, 2)\), \((3, 5)\), \((7, 5)\), \((2, 5)\)로 총 \(4\)쌍이다.
예제 2
입력
3 5
10 20 30
출력
0
설명
인접한 값끼리의 차이는 모두 \(10\)으로 \(K = 5\)보다 크므로 조건을 만족하는 쌍이 없다. 답은 \(0\)이다.
힌트
막혔나요? 코인으로 단계별 힌트를 잠금 해제하세요 — 첫 힌트는 가벼운 방향 제시, 뒤로 갈수록 더 많이 알려 줍니다. 문제를 풀면 모든 힌트가 무료로 공개됩니다.
힌트 1
로그인하고 잠금 해제 · 10 🪙
힌트 2
로그인하고 잠금 해제 · 20 🪙
문제 정보
riseoj 작성
출처 Original
태그