| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 243 | 86 | 76 | 35.849% |
학생 $N$명, 멘토 $M$명이 존재한다. 당신은 학생들의 실력을 높여주기 위해 멘토를 매칭해주려고 한다.
$i$번 학생은 실력 $A_i$를 가지고 있으며, $j$번 멘토는 지도력 $B_j$를 가지고 있다. 학생 한 명에게는 최대 한 명의 멘토를 매칭해줄 수 있고, 각 멘토 역시 최대 한 명의 학생을 지도해줄 수 있다. 학생에게 멘토를 매칭하지 않을 수도 있다. 멘토가 매칭된 학생의 실력은 해당 멘토의 지도력만큼 늘어난다.
모든 학생의 실력의 최솟값을 최대화시키는 멘토 매칭 방법의 수를 알아보자.
첫째 줄에 학생의 수 $N$, 멘토의 수 $M$이 공백으로 구분되어 정수로 주어진다. $(1 \leq N, M \leq 200\,000)$
둘째 줄에 학생의 실력을 나타내는 수열 $A$가 공백으로 구분되어 정수로 주어진다. $(1 \leq A_i \leq 10^9)$
셋째 줄에 멘토의 지도력을 나타내는 수열 $B$가 공백으로 구분되어 정수로 주어진다. $(1 \leq B_j \leq 10^9)$
첫째 줄에 모든 학생의 실력의 최솟값을 최대화하는 멘토 매칭 방법의 수를 $1\,000\,000\,007 \,(10^9 + 7)$으로 나눈 나머지를 출력한다.
2 3 3 5 1 3 2
2
4 2 2 5 3 3 5 10
8