Наверное, многие встречались с задачей:
Даны n(n - 1) / 2 попарных сумм чисел множества из n элементов, найти элементы этого множества или определить, что решения не существует. Но неизвестно к каким парам элементов относятся соответствующие суммы. У этой задачи есть стандартное решение: упорядочим исходные числа и переберем первое(т.е минимальное) число, затем раз за разом будем определять очередное число. Есть ощущение, что возможно(или невозможно :) ) делать это с помощью потока, прав ли я? а если нет, то почему?
Если n>=3, a_ij=x_i+x_j то x_i=(a_ij+a_ik-a_kj)/2, где i!=j!=k.
Думаю, здесь имеется в виду вариант, когда дано множество попарных сумм без соответствия.
Понятно, что минимальный элемент входит в две самые наименьшие суммы(a_ik и a_ij), переберем тогда a_kj и определим x_i. Более того, раз a_ik и a_ij — две наименьшие суммы, то перебрать a_kj нужно только среди первых n сумм. Ну а дальше все как описано в статье. Получается решение за чистый куб. Зачем здесь поток? Лучшей асимптотики вы не добьетесь.