Facebook
From Crimson Cat, 1 Year ago, written in C++.
Embed
Download Paste or View Raw
Hits: 126
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int triplets(vector<int>arr) {
  5.         map<int, int> k;
  6.         map<pair<int, int>, int> mpp;
  7.         vector<vector<int >> ssd;
  8.         int count = 0;
  9.         sort(arr.begin(), arr.end());
  10.         int i = 0;
  11.         while (i < arr.size()) {
  12.                 if (k.find(arr[i]) == k.end()) {
  13.                         k[arr[i]] = 1;
  14.                 }
  15.                 i += 1;
  16.         }
  17.         int j = 0;
  18.         while (j < arr.size() - 1) {
  19.                 int q = j + 1;
  20.                 while (q < arr.size()) {
  21.                         if (k.find(arr[j] + arr[q]) != k.end() and mpp[ {arr[j], arr[q]}] != arr[j] + arr[q]) {
  22.                                 count += 1;
  23.                                 ssd.push_back({arr[j], arr[q], arr[j] + arr[q]});
  24.                                 mpp[ {arr[j], arr[q]}] = arr[j] + arr[q];
  25.                         }
  26.                         q += 1;
  27.                 }
  28.                 j += 1;
  29.         }
  30.         return count;
  31. }
  32.  
  33. int main() {
  34.  
  35.         int n;
  36.         cin >> n;
  37.  
  38.         vector<int> arr(n);
  39.         for (int i = 0; i < n; i++) {
  40.                 cin >> arr[i];
  41.         }
  42.         int count = triplets(arr);
  43.         cout << count << endl;
  44. }

Replies to Question 1 rss

Title Name Language When
Question 2 Stained Matamata cpp 1 Year ago.