하이퍼체커 점수 세기
면접 대비시간 제한1초메모리 제한512 MB
주어진 n장의 카드에서 세 장을 골라 만들 수 있는 순서 있는 삼중항 (a,b,c) 중 최댓값이 최솟값의 k배 이하인 것의 개수를 센다.
문제
안드레이는 하이퍼체커 대회의 심판으로 일한다. 하이퍼체커 경기에는 세 명의 선수가 참가한다. 경기가 진행되는 동안 각 선수는 양의 정수 점수를 얻는다. 경기가 끝난 뒤 첫 번째 선수가 점, 두 번째 선수가 점, 세 번째 선수가 점을 얻었다면 경기가 의 점수로 끝났다고 한다.
안드레이는 하이퍼체커 규칙상 경기 결과에서 어떤 두 선수의 점수도 배를 초과하여 차이 나지 않는다는 것을 알고 있다.
경기가 끝난 뒤 안드레이는 선수들의 점수가 적힌 카드 세 장을 특별한 전광판에 놓아 결과를 보여 준다. 이를 위해 그는 숫자 이 적힌 장의 카드 묶음을 가지고 있다. 안드레이는 대회를 얼마나 잘 준비했는지 알아보기 위해, 가지고 있는 카드로 전광판에 보여 줄 수 있는 서로 다른 점수 경우의 수가 몇 가지인지 알고 싶어 한다.
와 안드레이가 가진 카드에 적힌 숫자가 주어질 때, 안드레이가 전광판에 보여 줄 수 있는 서로 다른 점수 경우의 수를 구하는 프로그램을 작성하라.
입력
첫째 줄에 정수 과 가 주어진다. (, )
둘째 줄에 개의 정수 이 주어진다. ()
출력
서로 다른 점수 경우의 수를 하나의 정수로 출력한다.
힌트
예시에서 안드레이는 다음 점수 경우를 보여 줄 수 있다: 1:1:2, 1:2:1, 2:1:1, 1:2:2, 2:1:2, 2:2:1, 2:2:3, 2:3:2, 3:2:2. 가지고 있는 카드로 만들 수 있는 다른 세 수의 조합은 어떤 두 선수의 점수가 배를 초과하여 차이 나지 않는다는 조건을 만족하지 않는다.