求助
  • 板块灌水区
  • 楼主うっせぇわ
  • 当前回复5
  • 已保存回复5
  • 发布时间2021/7/22 15:27
  • 上次更新2023/11/4 13:50:00
查看原帖
求助
506475
うっせぇわ楼主2021/7/22 15:27

我的代码

#include <iostream>
#include <stack>
using namespace std;
int n;
stack <int>s; 
int a[10001],f[1001],ans=0;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
		cin>>a[i];
	}
    for(int i=1;i<=n;i++){
		if(s.empty()||s.top()>=a[i]){
        	f[i]=s.top();
		}else{
			while(!s.empty()||s.top()<=a[i]){
				//cout<<"Pop out "<<s.top()<<" \n";
				s.pop();
				f[i]=s.top();
			}
			s.push(a[i]);
		}
//		cout<<"f[i]="<<f[i]<<endl;
//		cout<<"Did a while\n";
    }
    for(int i=n;i>=1;i--){
    	cout<<f[i]<<" ";
	}
    return 0;
}
/*
6 

3 
2 
6 
1 
1 
2 
*/

请问为什么程序会运行终止?

2021/7/22 15:27
加载中...