fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3. #include <unordered_map>
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8. int n;
  9. cin >> n; // Вводим количество чисел
  10.  
  11. vector<int> arr(n);
  12. unordered_map<int, int> count_map; // Словарь для подсчета вхождений чисел
  13.  
  14. // Вводим числа и записываем их в словарь
  15. for (int i = 0; i < n; ++i) {
  16. cin >> arr[i];
  17. count_map[arr[i]]++;
  18. }
  19.  
  20. int pairs = 0;
  21.  
  22. // Подсчитываем количество пар
  23. for (const auto& entry : count_map) {
  24. int count = entry.second;
  25. if (count > 1) {
  26. pairs += count * (count - 1) / 2; // Формула для подсчета пар из одинаковых элементов
  27. }
  28. }
  29.  
  30. cout << pairs << endl; // Выводим количество пар
  31.  
  32. return 0;
  33. }
  34.  
Success #stdin #stdout 0.01s 5284KB
stdin
8
9 10 3 3 6 9 7 8
stdout
2