fork download
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define ll unsigned long long
  6. #define MOD 998244353
  7. #define ln '\n'
  8.  
  9.  
  10.  
  11. int main() {
  12.  
  13. ios::sync_with_stdio(false);
  14. cin.tie(nullptr);
  15.  
  16. int t{}, n{};
  17. cin >> t;
  18. ll x{}, y{};
  19. while (t--)
  20. {
  21. cin >> n;
  22. cin >> x >> y;
  23. vector<int> arr(n);
  24. ll sum{};
  25. for (int i = 0; i < n; ++i) {
  26. cin >> arr[i];
  27. sum += arr[i];
  28. }
  29. sort(arr.begin(), arr.end());
  30. int i = 0;
  31. ll count{};
  32. int last = n-1, first;
  33. while (i < n-1)
  34. {
  35. first = i+1;
  36. last = n-1;
  37. if (sum - (arr[i] + arr[last]) > y) {
  38. i++;
  39. continue;
  40. }
  41. while (!(sum - (arr[i] + arr[first]) >= x && sum - (arr[i] + arr[first]) <= y) && first < n-1)
  42. first++;
  43. while (!(sum - (arr[i] + arr[last]) >= x && sum - (arr[i] + arr[last]) <= y) && last > i)
  44. last--;
  45. if (first <= last)
  46. count += last - first + 1;
  47. i++;
  48. }
  49. cout << count << ln;
  50. }
  51.  
  52. return 0;
  53. }
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
Standard output is empty