编程题
### 问题描述 肖恩提出了一种新的排序方法。 该排序方法需要一个标准数组 $B$ 和一个待排序数组 $A$ 。在确保对于所有位置 $i$ 都有 $A[i] > B[i]$ 的前提下,肖恩可以自由选择 $A$ 数组的排序结果。请计算按照这种排序方法,待排序数组 $A$ 可能的结果有多少种。 对于任意一个位置 $i$ ,如果两次排序后 $A[i]$ 不是同一个数字,那么这两种排序方式就被称为是不同的。结果可能很大,你需要将结果对 $10^9+7$ 取余。 ### 输入描述 第一行输入一个数字 $n$ ,为两个数组的长度。 第二行输入 $n$ 个数字,表示待排序数组 $A$ 中的所有元素。 第三行输入 $n$ 个数字,表示标准数组 $B$ 中的所有元素。 数据保证 $1 \leq n \leq 10^5,1 \leq A[i] \leq 10^9,1 \leq B[i] \leq 10^9$ 。 ### 输出描述 输出一个数字,表示所有的排列数对 $10^9+7$ 取余后的结果。 ### 样例输入 ``` 5 2 3 5 6 8 1 2 3 4 5 ``` ### 样例输出 ``` 4 ``` ### 说明 一共有以下四种符合条件的排序后的 $A$ 数组: $2,3,5,6,8$ , $2,3,6,5,8$ , $2,3,8,5,6$ , $2,3,5,8,6$ 。
查看答案
赣ICP备20007335号-2