查询超时求助!!QAQ
查看原帖
查询超时求助!!QAQ
1000377
Chun_My楼主2023/8/13 11:19

蒟蒻查询思路:将栈内数字一个一个取出来存在数组中,在取出来的同时比较最大值,求大佬给一个不会超时的查询思路

#include <queue>
#include <algorithm>
#include <stack>
using namespace std;
stack<int>x;
int main(){
    int n;//指令数 
    cin>>n;
    int num[n+1];
    int order;//指令 
    long long q;//存进仓库的货物质量 
    int size;//栈内货物数量 
   
    for(int i=1;i<=n;i++){
	    
    	cin>>order;
    	if(order==0){
    		cin>>q;
    		x.push(q);
    	}
    	if(order==1){
    		if(x.empty()!=1) x.pop();
    		else cout<<0<<endl;
    	}
    	if(order==2){
			int max=0;
    		size=x.size();
    		for(int i=1;i<=size;i++){
    			num[i]=x.top();
    			if(num[i]>max){
    				max=num[i];
    			}
    			x.pop();
			}
			for(int i=size;i>=1;i--){
				x.push(num[i]);
			}
			cout<<max<<endl;
    	}
    	
    }
}
2023/8/13 11:19
加载中...