消せる priority queue で消し過ぎない方法 - noshi91のメモ
消せない priority_queue
実装例
template< typename T > struct PriorityQueue { T ret; size_t sz; PriorityQueue() : sz(0) {} void push(T x) { if(sz == 0 or ret < x) ret = x; sz++; } T top() const { assert (sz > 0); return ret; } bool empty() const { return sz == 0; } size_t size() const { return sz; } };
消しすぎない方法
消せません