#pragma once #include #include template > struct PQ : public std::priority_queue, Compare> { T pop() { using Base = std::priority_queue, Compare>; auto t = Base::top(); Base::pop(); return t; } }; template using MinPQ = PQ>;