- [模板] 单调栈
第八个样例怎么过
- 2025-7-30 11:06:55 @
帮我看下代码
#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
- 上传者