Конкретно на каком этапе возникли проблемы? Покажи, что у тебя уже получается. "В качестве исходных данным", мда. Я так понимаю, тебе всего лишь нужно отсортировать массив, потом сделать array_walk(), чтобы сгенерировать модули отрицательных значений? Дважды отрицательные — это сильно сказано. Задачу писал кто-то не сильно разумный.