题解
2023-08-13 18:52:37
发布于:浙江
26阅读
0回复
0点赞
还是用结构体写简单
#include<bits/stdc++.h>
using namespace std;
struct node{
int da,min;
}st[100010];
int n,top;
int main(){
scanf("%d",&n);
st[0].min=INT_MAX;
for(int i=1;i<=n;i++){
string s;
cin >> s;
if(s=="top"){
if(top==0){
printf("error\n");
continue;
}
printf("%d\n",st[top].da);
}
if(s=="push"){
int data;
scanf("%d",&data);
st[++top].da=data;
st[top].min=min(st[top-1].min,st[top].da);
}
if(s=="pop"){
if(top==0){
printf("error\n");
continue;
}
top--;
}
if(s=="get_min"){
if(top==0){
printf("error\n");
continue;
}
printf("%d\n",st[top].min);
}
}
}
这里空空如也
有帮助,赞一个