本题的关键在于b中的最小值b_min。为了让a得到尽可能高的分数,应将b_min排在第一位,此时对于a中的牌来说,大于b_min则可得一分,小于b_min则不能得分。所以对于a来说可分为两段:大于b_min和小于b_min。那么组合个数就是这两段的阶乘之积。 下面是代码: #include<bits/stdc++.h> #define int long long int a[200005],b[200005]; using namespace std; signed main(){ int T; cin>>T; while(T--){ int n,mn=2e9,x=0,...