社区讨论
神秘事件
P5788【模板】单调栈参与者 3已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @mdebh989
- 此快照首次捕获于
- 2025/07/22 17:13 8 个月前
- 此快照最后确认于
- 2025/11/04 03:56 4 个月前
感觉我的代码和几个题解都不太一样,但是还是过了,就想着发过来问一下:
CPP#include<bits/stdc++.h>
using namespace std;
int a[3000010];
int st[3000010];
int b[3000010],l=0;
int v[3000010];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=n;i>0;i--){
while(a[i]>=st[l] && l>0){
l--;
}
if(l==0){
b[i]=0;
}
b[i]=v[l];
st[++l]=a[i];
v[l]=i;
}
for(int i=1;i<=n;i++){
cout<<b[i]<<' ';
}
cout<<'\n';
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...