This documentation is automatically generated by competitive-verifier/competitive-verifier
#include "daylight/structure/deletable_priority_queue.hpp"#include "daylight/base.hpp"
template<typename T, typename vec = vector<T>,
typename cmp = less<typename vec::value_type>>
struct deletable_priority_queue {
private:
map<T, T> M;
priority_queue<T, vec, cmp> Q;
int sz;
public:
deletable_priority_queue() {
sz = 0;
}
/// @brief キューに要素vを追加する
/// @param v 追加する要素
void push(T v) {
Q.push(v);
M[v]++;
sz++;
}
/// @brief キューから要素vを削除する
/// @param v 削除する要素
/// @return 削除が成功したかどうか
bool remove(T v) {
if(M[v] == 0) return false;
M[v]--;
sz--;
while(!Q.empty() && M[Q.top()] == 0) {
Q.pop();
}
return true;
}
/// @brief キューの最大元を取り出す
/// @return キューの最大元
T top() {
return Q.top();
}
/// @brief キューの最大元を削除する
void pop() {
while(M[Q.top()] == 0) {
Q.pop();
}
M[Q.top()]--;
sz--;
Q.pop();
while(!Q.empty() && M[Q.top()] == 0) {
Q.pop();
}
}
/// @brief キューが要素vを含むかを判定する
/// @param v キューが含むかを判定する要素
/// @return キューがvを含むかどうか
bool contains(T v) {
return M[v] > 0;
}
/// @brief キューの要素数を取得する
/// @return キューの要素数
size_t size() {
return (size_t) sz;
}
};
Traceback (most recent call last):
File "/home/runner/.local/lib/python3.10/site-packages/competitive_verifier/oj_resolve/resolver.py", line 181, in resolve
bundled_code = language.bundle(path, basedir=basedir)
File "/home/runner/.local/lib/python3.10/site-packages/competitive_verifier/oj/verify/languages/cplusplus.py", line 252, in bundle
bundler.update(path)
File "/home/runner/.local/lib/python3.10/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 482, in update
self.update(
File "/home/runner/.local/lib/python3.10/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 477, in update
raise BundleErrorAt(
competitive_verifier.oj.verify.languages.cplusplus_bundle.BundleErrorAt: daylight/base.hpp: line 103: unable to process #include in #if / #ifdef / #ifndef other than include guards