odwrotne sortowanie par w kolejce priorytetowej

0

Zrobiłem kolejkę priorytetową typu pair<long long int, pair<long long int, long long int> > , która świetnie działa tzn. wszystko sortuje się niemalejąco według kolejności par. Zapragnąłem jednak żeby kolejka sortowała się nierosnąco. Niestety nie jest to takie proste jak układanie własnego warunku do funkcji sortującej gdzie wystarczy jedna lambda. Tutaj trzeba zrobić jakąś nową specjalną klasę? Ktoś wie jak to się robi?

1

użyj std::greater?

0

greater musi mieć w trójkątnym nawiasie nazwę typu, nie chce przyjąć pair<long long int, pair<long long int, long long int> >

0
Roman Kwaśniewski napisał(a):

greater musi mieć w trójkątnym nawiasie nazwę typu, nie chce przyjąć pair<long long int, pair<long long int, long long int> >

A typedef nie możesz się poratować?

0

Twój kod w nieco prostszej formie :)

#include <bits/stdc++.h>

using namespace std;

int main()
{
using value_t = pair<long long int, pair<long long int, long long int> >;
priority_queue<value_t, vector<value_t>, greater<value_t>> q;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1