1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <iostream> #include <queue> #include <vector> #include <functional> using namespace std; template<typename T, template<class> class Compare = std::less, template<class, class> class Container = std::vector> std::priority_queue<T, Container<T, std::allocator<T>>, Compare<T>> make_pqueue() { return std::priority_queue<T, Container<T, std::allocator<T>>, Compare<T>>(); } int main() { int arr[] = {5, 3, 4, 2, 1}; size_t size = sizeof(arr) / sizeof(*arr); auto pqueue = make_pqueue<int,greater>(); for(size_t i = 0; i < size; ++i) { pqueue.push(arr[i]); } while (!pqueue.empty()) { cout << pqueue.top() << endl; pqueue.pop(); } } |
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cXVldWU+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxmdW5jdGlvbmFsPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlPHR5cGVuYW1lIFQsIHRlbXBsYXRlPGNsYXNzPiBjbGFzcyBDb21wYXJlID0gc3RkOjpsZXNzLCB0ZW1wbGF0ZTxjbGFzcywgY2xhc3M+IGNsYXNzIENvbnRhaW5lciA9IHN0ZDo6dmVjdG9yPgpzdGQ6OnByaW9yaXR5X3F1ZXVlPFQsIENvbnRhaW5lcjxULCBzdGQ6OmFsbG9jYXRvcjxUPj4sIENvbXBhcmU8VD4+Cm1ha2VfcHF1ZXVlKCkKewogICAgcmV0dXJuIHN0ZDo6cHJpb3JpdHlfcXVldWU8VCwgQ29udGFpbmVyPFQsIHN0ZDo6YWxsb2NhdG9yPFQ+PiwgQ29tcGFyZTxUPj4oKTsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgYXJyW10gPSB7NSwgMywgNCwgMiwgMX07CiAgICBzaXplX3Qgc2l6ZSA9IHNpemVvZihhcnIpIC8gc2l6ZW9mKCphcnIpOwoKICAgIGF1dG8gcHF1ZXVlID0gbWFrZV9wcXVldWU8aW50LGdyZWF0ZXI+KCk7CgogICAgZm9yKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkgewogICAgICAgIHBxdWV1ZS5wdXNoKGFycltpXSk7CiAgICB9CgogICAgd2hpbGUgKCFwcXVldWUuZW1wdHkoKSkgewogICAgICAgIGNvdXQgPDwgcHF1ZXVlLnRvcCgpIDw8IGVuZGw7CiAgICAgICAgcHF1ZXVlLnBvcCgpOwogICAgfQp9Cg==
-
upload with new input
-
result: Success time: 0s memory: 3060 kB returned value: 0
1 2 3 4 5


