파티 메들리
면접 대비시간 제한1초메모리 제한2048 MB
서로 다른 학생 세 명으로 이루어진 팀 중 최대 레이팅과 최소 레이팅의 차가 M 이하인 팀의 수를 세고, 그런 팀의 레이팅 합 최댓값을 구합니다.
문제
ICPC 대학의 경쟁 프로그래밍 동아리에는 1번부터 번까지 번호가 붙은 학생 명이 있다. 학생 의 레이팅은 이며, 이는 경쟁 프로그래밍 문제 풀이 실력을 추정한 값이다.
대회 시즌이 다가와서 동아리 코치 Morgan은 예산이 한정되어 있어 특정 대회에 좋은 팀을 최대 한 팀만 보내려고 한다. 팀은 서로 다른 학생 3명으로 구성된다. 학생 , , 로 이루어진 팀의 팀 레이팅은 이고, 레이팅 차이는 이다.
Morgan은 레이팅 차이가 임계값 이하인 팀을 균형 잡힌 팀으로 본다. 균형 잡힌 팀 중에서는 팀 레이팅이 가능한 한 큰 팀을 원한다.
Morgan은 두 가지 값을 구하려고 한다. 첫 번째는 만들 수 있는 균형 잡힌 팀 구성의 개수이고, 두 번째는 만들 수 있는 균형 잡힌 팀 중 최대 팀 레이팅이다. 두 팀 구성은 학생이 한 명이라도 다르면 서로 다른 구성이다.
입력
첫 줄에 두 정수 과 (; )이 주어진다. 다음 줄에는 개의 정수 ()가 주어지며, 이는 학생 의 레이팅이다.
출력
균형 잡힌 팀 구성이 하나 이상 있으면, 균형 잡힌 팀 구성의 개수와 균형 잡힌 팀의 최대 팀 레이팅을 공백으로 구분해 한 줄에 출력한다. 균형 잡힌 팀 구성이 하나도 없으면 -1을 한 줄에 출력한다.