题解
2024-06-02 17:12:08
发布于:上海
14阅读
0回复
0点赞
#include<iostream>
#include<stack>
using namespace std;
stack<int> a;
int _min=0xffffff;
void get_min(){
stack<int> x;x=a;
_min=0xffffff;
while(!x.empty()){
_min=min(_min,x.top());
x.pop();
}
}
int main(){
int n;
cin>>n;
string cmd,cmp1="push",cmp2="pop",cmp3="top",cmp4="get_min";
int num;
for(int i=1;i<=n;i++){
cin>>cmd;
if(cmd==cmp1){
cin>>num;
a.push(num);
_min=min(_min,num);
}
if(cmd==cmp2){
if(a.empty()) cout<<"error"<<endl;
else a.pop();
get_min();
}
if(cmd==cmp3){
if(a.empty()) cout<<"error"<<endl;
else cout<<a.top()<<endl;
}
if(cmd==cmp4){
if(a.empty()) cout<<"error"<<endl;
else cout<<_min<<endl;
}
}
}
by QFIT
点此加盟
这里空空如也
有帮助,赞一个