Advertisement
Fastrail08

Count the triplets

Aug 16th, 2022
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.63 KB | None | 0 0
  1. #include <iostream>
  2. #include<vector>
  3. #include<algorithm>
  4. using namespace std;
  5.  
  6. int countTriplets(vector<int> &v){
  7.   sort(v.begin(), v.end());
  8.   int count = 0;
  9.   for(int k = v.size() - 1; k > 1; k--){
  10.     for(int i = 0, j = k - 1; i < j;){
  11.         if(v[i] + v[j] == v[k]){
  12.           count++;
  13.           i++, j--;
  14.         }
  15.         else if(v[i] + v[j] < v[k]){
  16.           i++;
  17.         }
  18.         else{
  19.           j--;
  20.         }
  21.     }
  22.   }
  23.   return count;
  24. }
  25.  
  26. int main()
  27. {
  28.     int n;
  29.     cin >> n;
  30.     vector<int> v(n);
  31.     for(int i = 0; i < n; i++)
  32.       cin >> v[i];
  33.     cout << countTriplets(v) << '\n';
  34.     return 0;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement