fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define fast_io ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
  5.  
  6. #define int long long
  7. #define pb push_back
  8. #define ff first
  9. #define ss second
  10. #define all(x) (x).begin(), (x).end()
  11. #define rall(x) (x).rbegin(), (x).rend()
  12. #define sz(x) ((int)(x).size())
  13. #define endl '\n'
  14. #define yes cout << "yes\n"
  15. #define no cout << "no\n"
  16.  
  17. #define rep(i,a,b) for(int i=a;i<b;++i)
  18. #define per(i,a,b) for(int i=b-1;i>=a;--i)
  19. #define each(x, a) for (auto& x : a)
  20.  
  21. const int INF = 1e18;
  22. const int MOD = 998244353;
  23. const int N = 2e5 + 5;
  24.  
  25. int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); }
  26. int lcm(int a, int b) { return (a / gcd(a, b)) * b; }
  27. int power(int a, int b, int m = MOD) {
  28. int res = 1;
  29. while (b > 0) {
  30. if (b & 1) res = res * a % m;
  31. a = a * a % m;
  32. b >>= 1;
  33. }
  34. return res;
  35. }
  36. int modinv(int a, int m = MOD) {
  37. return power(a, m - 2, m);
  38. }
  39.  
  40. void solve() {
  41. int n;
  42. cin >> n;
  43. vector<int> a(n + 1);
  44. int sum = 0;
  45. rep(i, 0, n + 1) {
  46. cin >> a[i];
  47. sum += a[i];
  48. }
  49.  
  50. int k = sum / n;
  51. int r = sum % n;
  52.  
  53. int heavy_cnt = 0;
  54. rep(i, 1, n + 1) {
  55. if (a[i] > k + 1) {
  56. cout << 0 << endl;
  57. return;
  58. }
  59. if (a[i] == k + 1) {
  60. heavy_cnt++;
  61. }
  62. }
  63.  
  64. if (heavy_cnt > r) {
  65. cout << 0 << endl;
  66. return;
  67. }
  68.  
  69. int ans = 1;
  70. rep(i, 0, heavy_cnt) {
  71. ans = (ans * (r - i)) % MOD;
  72. }
  73.  
  74. rep(i, 1, n - heavy_cnt + 1) {
  75. ans = (ans * i) % MOD;
  76. }
  77.  
  78. cout << ans << endl;
  79. }
  80.  
  81. int32_t main() {
  82. fast_io;
  83. int t;
  84. cin >> t;
  85. while (t--) {
  86. solve();
  87. }
  88. return 0;
  89. }
Success #stdin #stdout 0s 5328KB
stdin
4
3
1 2 1 0
3
1 0 2 0
1
2 5
4
6 1 4 2 1
stdout
2
0
1
12