fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. long long ans(vector<int>& v, int k1, int k2) {
  5. if (v.size() < 4) return 0;
  6. long long a = 0;
  7. int n = v.size();
  8. for (int j = 1; j < n - 2; j++) {
  9. int i = 0;
  10. long long a1 = 0;
  11. long long a2 = 0;
  12.  
  13. while (i < j) {
  14. if ((long long)v[i] + v[j] > k1) {
  15. a1 += j - i;
  16. break;
  17. } else {
  18. i++;
  19. }
  20. }
  21.  
  22. int k = j + 1;
  23. int l = n - 1;
  24. while (k < l) {
  25. if ((long long)v[k] + v[l] > k2) {
  26. a2 += l - k;
  27. l--;
  28. } else {
  29. k++;
  30. }
  31. }
  32.  
  33. a += a1 * a2;
  34. }
  35.  
  36. return a;
  37. }
  38.  
  39. int main() {
  40. int n;
  41. if (!(cin >> n)) return 0;
  42.  
  43. vector<int> v(n);
  44. int k1, k2;
  45. cin >> k1 >> k2;
  46.  
  47. for (int i = 0; i < n; i++) {
  48. cin >> v[i];
  49. }
  50.  
  51. cout << ans(v, k1, k2) << endl;
  52. return 0;
  53. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
Standard output is empty