Если без сортировки то идём поэлементно. Запомнили i-ый, пробежали по массиву в поисках совпадений. Если нет - увеличили переменную счётчик. Если есть, то break. Как оптимизировать - не знаю даже, без использования дополнительного массива.
Модуль - функция abs(). Чётные места Code
if Odd(i) then continue else s := s + abs(a[i]);
Третье, это я так понимаю, сформировать массив уникальных элементов (без повторений). Взяли элемент, если его нет в массиве b - дописали. если есть - взяли следующий. Вот так.