社区讨论
60求助!
P5788【模板】单调栈参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo9k4on2
- 此快照首次捕获于
- 2023/10/28 12:43 2 年前
- 此快照最后确认于
- 2023/10/28 12:43 2 年前
CPP
#include<iostream>
using namespace std;
const int N=3e6+10;
int n,a[N],stk[N],b[N];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
int tt=0;
for(int i=n;i>0;i--)
{
while(tt&&a[i]>a[stk[tt]])tt--;
stk[++tt]=i;
b[i]=stk[tt-1];
}
for(int i=1;i<=n;i++)
cout<<b[i]<<' ';
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...