만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

다이아몬드 수집가

면접 대비

시간 제한2초메모리 제한512 MB

요약
다이아몬드 크기를 정렬한 뒤 크기 차가 K 이하인 서로 겹치지 않는 두 묶음으로 전시 수를 최대로 합니다.
난이도

보통10점 중 5점

유형
정렬, 투 포인터
정답자
아직 제출이 없습니다

문제

소 베시는 반짝이는 물건을 좋아해서 여가 시간에 다이아몬드를 캐는 취미를 시작했다. 베시가 모은 다이아몬드는 크기가 제각각인 NN개이고, 그중 일부를 헛간에 있는 진열장 두 개에 나누어 전시하려고 한다.

한 진열장에 들어가는 다이아몬드는 크기가 서로 비슷해야 한다. 그래서 베시는 크기 차이가 KK보다 큰 두 다이아몬드를 같은 진열장에 넣지 않기로 했다. 크기 차이가 정확히 KK인 두 다이아몬드는 같은 진열장에 함께 전시할 수 있다. 다이아몬드 하나는 많아야 진열장 한 곳에만 놓이고, 아예 전시하지 않고 남겨 두어도 된다.

KK가 주어질 때, 두 진열장에 합쳐서 전시할 수 있는 다이아몬드 개수의 최댓값을 구하여라.

입력

첫째 줄에 NN과 KK가 주어진다. (1≤N≤50 0001 \le N \le 50\,000, 0≤K≤1 000 000 0000 \le K \le 1\,000\,000\,000)

다음 NN개의 줄에는 각 줄마다 다이아몬드 하나의 크기가 정수로 주어진다. 크기는 모두 양의 정수이고 1 000 000 0001\,000\,000\,000 이하이다.

출력

두 진열장에 합쳐서 전시할 수 있는 다이아몬드 개수의 최댓값을 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    7 3
    10
    5
    1
    12
    9
    5
    14
    
    예상 출력
    5