arr=<наш исходный массив чисел>
sort(arr) // сортируем
res = 0
currPairs = 1
for (i = 1...N-1) do:
if arr[i] == arr[i-1] then:
currPairs = currPairs + 1
else:
if currPairs > 1 then:
res = res + (currPairs - 1)*currPairs / 2 // наша формула
currPairs = 1 // обнуляем для следующего раза
end // конец цикла
// тут важный момент для случая когда равные числа в конце, но цикл-то уже закончился,
// т.е. снова придется считать по формуле:
if currPairs > 1 then:
res = res + (currPairs - 1)*currPairs / 2
return res // итоговый результат в этой переменной