QJ3333 - Cách sắp xếp của Sơn
Xem dưới dạng PDFSơn đề xuất một phương pháp sắp xếp mới.
Phương pháp sắp xếp này cần một mảng chuẩn $B$ và một mảng cần sắp xếp $A$. Với điều kiện đảm bảo rằng với mọi vị trí $i$ đều có $A'[i]>B[i]$ ($A'$ là một hoán vị của $A$), Sơn có thể tự do chọn kết quả hoán vị của mảng $A$. Hãy tính xem theo phương pháp sắp xếp này, mảng cần sắp xếp $A$ có thể có bao nhiêu hoán vị.
Với một vị trí $i$ bất kỳ, nếu ở hai hoán vị mà $A'[i]$ không phải cùng một con số, thì hai cách hoán vị này được coi là khác nhau. Kết quả có thể rất lớn, bạn cần lấy kết quả chia lấy dư cho $10^9+7$.
Dữ liệu vào
Dòng đầu tiên nhập một số nguyên $n$, là độ dài của hai mảng. Dòng thứ hai nhập $n$ số nguyên, biểu thị tất cả các phần tử trong mảng cần sắp xếp $A$. Dòng thứ ba nhập $n$ số nguyên, biểu thị tất cả các phần tử trong mảng chuẩn $B$. Dữ liệu đảm bảo: $1 \le n \le 10^5$ $1 \le A[i] \le 10^9$ $1 \le B[i] \le 10^9$
Dữ liệu ra
Xuất ra một số nguyên, biểu thị số lượng hoán vị hợp lệ sau khi lấy dư cho $10^9+7$.
Ví dụ
Input
5
2 3 5 6 8
1 2 3 4 5
Output
4
Ghi chú
Giải thích ví dụ Tổng cộng có bốn mảng $A$ sau khi sắp xếp thỏa mãn điều kiện như sau: $2,3,5,6,8 ,$ $2,3,6,5,8 ,$ $2,3,8,5,6 ,$ $2,3,5,8,6 .$
Phạm vi dữ liệu Dữ liệu đảm bảo: $1 \le n \le 10^5$ $1 \le A[i] \le 10^9$ $1 \le B[i] \le 10^9$
Nhận xét