帮我看下代码

#include<bits/stdc++.h>
using namespace std;
int T[3000010];
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int n;
	cin>>n;
	int a[n+1];
	unordered_map<int,int>mp;
	for(int i=1;i<=n;++i){
		cin>>a[i];
		mp[a[i]]=i;
	}
	vector<int>zhan;
	for(int i=1;i<=n;++i){
		if(zhan.empty()||zhan.back()>=a[i]){
			zhan.push_back(a[i]);
		}else{
			T[mp[zhan.back()]]=mp[a[i]];
			zhan.pop_back();
			i--;
		}
	}
	for(int i=1;i<=n;++i){
		cout<<T[i]<<' ';
	}
	return 0;
}

0 条评论

目前还没有评论...

信息

ID
2404
时间
1000ms
内存
256MiB
难度
10
标签
递交数
4
已通过
2
上传者