通过率92.31%,不知道卡哪里了,第一题 package main import ( "fmt" "sort" ) func main(){ n := 0 fmt.Scanf("%d\n", &n) var a []int var b []int for i:=0;i<n;i++{ x := 0 fmt.Scan(&x) a = append(a, x) } for i:=0;i<n;i++{ x := 0 fmt.Scan(&x) b = append(b, x) } //排序 sort.Ints(a) sort.Ints(b) res := 1 count := 0 for i:=len(a)-1;i>=0;i--{ for j:=len(b)-1-count;j>=-1;j--{ if j >= 0 && a[i]<=b[j]{ continue } //记录等于的元素下标 idx := j+1 //元素的选择次数 res = res * (len(b)-count-idx) count++ break } } fmt.Println(res%100000007) }