RT。我在做出不重复的 105 范围的 T9 后:
cin >> n >> x;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
sort(a, a + n);
if (a[0] + a[n - 1] > x) {
cout << "0\n";
return 0;
}
LL t = 0;
for (int i = 0; i < n - 1; i++) {
if (a[i] + a[n - 1] > x) {
t = i;
break;
}
}
if (t == 0) {
cout << fac(n) << '\n';
return 0;
}
cout << (2LL * t * fac(n - 2) % mod + t * (t - 1) % mod * fac(n - 2) % mod) % mod;
return 0;
猜了个结论,即 T11 结论为 fac(m)ans,其中 ans 为 T9 的解,m 为最大数的次数,fac 是阶乘。提交后获得了 50pts。但当时由于过于匆忙,我是直接除的,没有写逆元。请问各位大佬这个结论是否正确,如果是,怎么证明?