Задача: Посчитать количество пар чисел (number of equal pairs)
Псевдокод: Быстрый алгоритм подсчета одинаковых пар
  1. arr=<наш исходный массив чисел>
  2. sort(arr) // сортируем
  3. res = 0
  4. currPairs = 1
  5. for (i = 1...N-1) do:
  6. if arr[i] == arr[i-1] then:
  7. currPairs = currPairs + 1
  8. else:
  9. if currPairs > 1 then:
  10. res = res + (currPairs - 1)*currPairs / 2 // наша формула
  11. currPairs = 1 // обнуляем для следующего раза
  12. end // конец цикла
  13.  
  14. // тут важный момент для случая когда равные числа в конце, но цикл-то уже закончился,
  15. // т.е. снова придется считать по формуле:
  16. if currPairs > 1 then:
  17. res = res + (currPairs - 1)*currPairs / 2
  18.  
  19. return res // итоговый результат в этой переменной