Сортировка с компаратором
Вектор (как и массив)  можно сортировать с помощью функции sort(). Но эта функция по умолчанию сортирует по возрастанию. Чтобы отсортировать массив в другом порядке нужно использовать так называемый компаратор - функцию, которая сравнивая два объекта задает порядок сортировки.
 
Пример
Пример компаратора, сортирующего элементы массива по возрастанию.
bool cmp(int first, int second) 
{
    return first < second;
}

и сортировка вектора A, c использованием созданного компаратора:
sort(A.begin(), A.end(), cmp );


Вспомнить про итераторы

По условию задачи видно, что надо применить устойчивую (стабильную) сортировку, поэтому вместо sort надо применить stable_sort.

в качестве компаратора также можно указать функциональный объект, который можно создать перед вызовом функцией сортировки.
Например:
struct {
        bool operator()(int a, int b) const
        {   
            return a < b;
        }   
    } cmp;