私の解決策:
1.最大値を探すときに、キューを使用してキューをトラバースすることを考えました
class MaxQueue {
public:
queue<int> q;
MaxQueue() {
}
int max_value() {
if(q.empty()) return -1;
int a=0;
for(int i=0;i<q.size();i++){
if(q.front()>a) a=q.front();
q.push(q.front());
q.pop();
}
return a;
}
void push_back(int value) {
q.push(value);
}
int pop_front() {
if(q.empty()) return -1;
int a=q.front();
q.pop();
return a;
}
};
2.高速なもののほとんどがdequeを使用します。この質問のおかげで、dequeについても学びます