priority_queue, set은 비교 조건에 sort 함수 등과는 다르게 함수 객체만 사용할 수 있습니다.
따라서 set<int,[](int x,int y)->bool{return x<y;}> s;와 같은 구문은 실행되지 않습니다.
혹은, 함수 cmp에 대해서 set<int,cmp> s;도 실행되지 않습니다.
이를 해결하기 위해서 일반적으로 새 구조체를 작성하는데, 그럴 경우에 다양한 정렬기준에 대해서 전부 구조체를 작성해야 하므로 번거롭습니다. 하지만 다음과 같이 구현하면 별다른 구조체 없이도 제대로 동작하게 됩니다.