• + 0 comments

    include

    include

    using namespace std;

    string ltrim(const string &); string rtrim(const string &); vector split(const string &);

    int beautifulTriplets(int d, vector arr) { int triplets=0;

    for(int i=0;i<arr.size();i++){
        for(int j=i+1;j<arr.size();j++){
            if (arr[j]-arr[i]==d) {
            for(int k=j+1;k<arr.size();k++){
                if(arr[k]-arr[j]==d){
                   triplets++;
                   break;
            }
            }
            }
        }
    }
    

    return triplets; }

    int main() { ofstream fout(getenv("OUTPUT_PATH"));

    string first_multiple_input_temp;
    getline(cin, first_multiple_input_temp);
    
    vector<string> first_multiple_input = split(rtrim(first_multiple_input_temp));
    
    int n = stoi(first_multiple_input[0]);
    
    int d = stoi(first_multiple_input[1]);
    
    string arr_temp_temp;
    getline(cin, arr_temp_temp);
    
    vector<string> arr_temp = split(rtrim(arr_temp_temp));
    
    vector<int> arr(n);
    
    for (int i = 0; i < n; i++) {
        int arr_item = stoi(arr_temp[i]);
    
        arr[i] = arr_item;
    }
    
    int result = beautifulTriplets(d, arr);
    
    fout << result << "\n";
    
    fout.close();
    
    return 0;
    

    }

    string ltrim(const string &str) { string s(str);

    s.erase(
        s.begin(),
        find_if(s.begin(), s.end(), not1(ptr_fun<int, int>(isspace)))
    );
    
    return s;
    

    }

    string rtrim(const string &str) { string s(str);

    s.erase(
        find_if(s.rbegin(), s.rend(), not1(ptr_fun<int, int>(isspace))).base(),
        s.end()
    );
    
    return s;
    

    }

    vector split(const string &str) { vector tokens;

    string::size_type start = 0;
    string::size_type end = 0;
    
    while ((end = str.find(" ", start)) != string::npos) {
        tokens.push_back(str.substr(start, end - start));
    
        start = end + 1;
    }
    
    tokens.push_back(str.substr(start));
    
    return tokens;
    

    }