아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

그냥 버티기

면접 대비

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

요약
소 N마리를 각 칸의 높이 제한에 맞게 서로 다른 N개의 칸에 배치하는 경우의 수를 구한다.
난이도

보통10점 중 4점

유형
정렬, 조합론, 그리디, 수학
정답자
아직 제출이 없습니다

문제

Farmer John은 키가 a1…aNa_1 \ldots a_N인 소 NN마리(1≤N≤201\le N \leq 20)를 기른다. 그의 헛간에는 최대 높이 제한이 b1…bNb_1 \ldots b_N인 축사 NN개가 있다. 예를 들어 b5=17b_5 = 17이면 키가 1717 이하인 소만 축사 55에 들어갈 수 있다. 각 소가 서로 다른 축사에 들어가고 모든 축사의 높이 제한이 지켜지도록 Farmer John이 소를 배치하는 서로 다른 방법의 수는 몇 가지인가?

입력

첫째 줄에 NN이 주어진다. 둘째 줄에 공백으로 구분된 NN개의 정수 a1,a2,…,aNa_1,a_2,\ldots,a_N이 주어진다. 셋째 줄에 공백으로 구분된 NN개의 정수 b1,b2,…,bNb_1,b_2,\ldots,b_N이 주어진다. 모든 키와 제한은 [1,109][1,10^9] 범위에 있다.

출력

각 소를 서로 다른 축사에 넣고 모든 축사의 높이 제한을 지키는 방법의 수를 출력한다. 출력값이 클 수 있으므로 C++의 "long long"처럼 64비트 정수가 필요할 수 있다.

예제1

  1. 예제 1

    입력
    4
    1 2 3 4
    2 4 3 4
    
    예상 출력
    8