#include <bits/stdc++.h>
using namespace std;
int findValidQuadruplets(vector<int> &arr, int k1, int k2){
int totalCount = 0, n = arr.size();
for (int j = 1; j <= n-3; j++){
int leftCount = 0;
for (int i = 0; i <= j-1; i++){
if(arr[i] + arr[j] > k1){
leftCount++;
}
}
int rightCount = 0;
int k = j+1, l = n-1;
while(k < l){
if(arr[k] + arr[l] > k2){
rightCount += l-k;
l--;
}
else {
k++;
}
}
totalCount += (leftCount * rightCount);
}
return totalCount;
}
int main() {
// your code goes here
vector<int> arr = {1, 1, 1, 1, 2, 2};
cout << findValidQuadruplets(arr, 1, 3);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgZmluZFZhbGlkUXVhZHJ1cGxldHModmVjdG9yPGludD4gJmFyciwgaW50IGsxLCBpbnQgazIpewoJaW50IHRvdGFsQ291bnQgPSAwLCBuID0gYXJyLnNpemUoKTsKCWZvciAoaW50IGogPSAxOyBqIDw9IG4tMzsgaisrKXsKCQlpbnQgbGVmdENvdW50ID0gMDsKCQlmb3IgKGludCBpID0gMDsgaSA8PSBqLTE7IGkrKyl7CgkJCWlmKGFycltpXSArIGFycltqXSA+IGsxKXsKCQkJCWxlZnRDb3VudCsrOwoJCQl9CgkJfQoJCWludCByaWdodENvdW50ID0gMDsKCQlpbnQgayA9IGorMSwgbCA9IG4tMTsKCQl3aGlsZShrIDwgbCl7CgkJCWlmKGFycltrXSArIGFycltsXSA+IGsyKXsKCQkJCXJpZ2h0Q291bnQgKz0gbC1rOwoJCQkJbC0tOwoJCQl9CgkJCWVsc2UgewoJCQkJaysrOwoJCQl9CgkJfQoJCQoJCXRvdGFsQ291bnQgKz0gKGxlZnRDb3VudCAqIHJpZ2h0Q291bnQpOwoJfQoJCglyZXR1cm4gdG90YWxDb3VudDsKfQoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgl2ZWN0b3I8aW50PiBhcnIgPSB7MSwgMSwgMSwgMSwgMiwgMn07Cgljb3V0IDw8IGZpbmRWYWxpZFF1YWRydXBsZXRzKGFyciwgMSwgMyk7CgkKCXJldHVybiAwOwp9