救救我
查看原帖
救救我
536369
Saicy_zc32楼主2022/4/16 15:48
#include<iostream>
using namespace std;
struct zoe{
	int k,pos;
	bool f=false;
};
int main(){
	zoe stack[100005];
	int ans[10005]={0};
	int top=0,n,t;
	cin>>n;
	top++;
	cin>>stack[top].k;
	stack[top].pos=1;
	for(int i=2;i<=n;i++)
	{
		cin>>t;
		if(t<=stack[top].k){
			top++;
			stack[top].k=t;
			stack[top].pos=i;
		}
		else{
			while(top>=1&&stack[top].k<t){
				ans[stack[top].pos]=i;
				top--;
			}
			top++;
			stack[top].k=t;
			stack[top].pos=i;
		}
	}
	for(int i=1;i<=n;i++) cout<<ans[i]<<endl;
	return 0;
}#include<iostream>
using namespace std;
struct zoe{
	int k,pos;
	bool f=false;
};
int main(){
	zoe stack[100005];
	int ans[10005]={0};
	int top=0,n,t;
	cin>>n;
	top++;
	cin>>stack[top].k;
	stack[top].pos=1;
	for(int i=2;i<=n;i++)
	{
		cin>>t;
		if(t<=stack[top].k){
			top++;
			stack[top].k=t;
			stack[top].pos=i;
		}
		else{
			while(top>=1&&stack[top].k<t){
				ans[stack[top].pos]=i;
				top--;
			}
			top++;
			stack[top].k=t;
			stack[top].pos=i;
		}
	}
	for(int i=1;i<=n;i++) cout<<ans[i]<<endl;
	return 0;
}

49分求助

2022/4/16 15:48
加载中...