근손실


답안 제출

Points: 8
시간 제한: 2.0s
메모리 제한: 1G

문제 유형

현재 운동 중량은 500이다. 앞으로 \(N\)일 동안 매일 운동 키트를 하나씩 사용하여 운동하려고 한다.

운동 키트는 모두 \(N\)개이며, \(i\)번째 운동 키트를 사용하면 그날의 운동 중량이 즉시 \(A_i\)만큼 증가한다. 하루가 끝날 때마다 운동 중량은 \(K\)만큼 감소한다.

각 운동 키트는 정확히 한 번씩 사용해야 한다. 운동하는 모든 날에 대하여 하루가 끝난 뒤의 운동 중량이 항상 500 이상이 되도록 하는 운동 키트 사용 순서의 개수를 구하시오.

증가량이 같은 운동 키트가 여러 개 있더라도 각각 서로 다른 운동 키트로 취급한다.

입력

첫째 줄에 운동하는 날의 수이자 운동 키트의 수인 \(N\)과 하루가 끝날 때 감소하는 중량 \(K\)가 공백으로 구분되어 주어진다.

둘째 줄에 각 운동 키트의 중량 증가량 \(A_1,A_2,\ldots,A_N\)이 공백으로 구분되어 주어진다.

출력

모든 날의 운동이 끝난 뒤 운동 중량이 항상 500 이상이 되도록 운동 키트를 사용하는 순서의 개수를 출력한다.

제한 사항

  • \(1 \le N \le 8\)
  • \(1 \le K \le 50\)
  • \(1 \le A_i \le 50\)

예제 입력 1

3 4
3 7 5

예제 출력 1

4

예제 설명 1

입력으로 주어진 순서대로 증가량이 \(3\), \(7\), \(5\)인 운동 키트를 각각 1번, 2번, 3번 키트라고 하자.

세 키트를 사용하는 순서는 총 \(3!=6\)가지이다. 각 순서에서 날짜가 끝난 뒤의 운동 중량과 조건 만족 여부는 다음과 같다.

키트 사용 순서 1일차 2일차 3일차 결과
1 → 2 → 3 499 - - 1일차에 실패
1 → 3 → 2 499 - - 1일차에 실패
2 → 1 → 3 503 502 503 성공
2 → 3 → 1 503 504 503 성공
3 → 1 → 2 501 500 503 성공
3 → 2 → 1 501 504 503 성공

1번 키트로 시작하는 두 순서는 첫날 운동이 끝난 뒤 중량이 \(500+3-4=499\)가 되어 조건을 만족하지 못한다. 나머지 네 순서는 모든 날의 운동이 끝난 뒤 중량이 항상 500 이상이다.

따라서 조건을 만족하는 순서는 총 네 가지이며, 정답은 4이다.


코멘트

현재 작성된 코멘트가 없습니다.