在放入x之前,栈中所有比x大的数都不会存在于队列中。
#include<algorithm>
#include<iostream>
using namespace std;
const int N=1e5+10;
int stk[N],tt=0;
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
int x;
cin>>x;
while(tt&&stk[tt]>=x) tt--;
if(tt) cout<<stk[tt]<<" ";
else cout<<"-1"<<" ";
stk[++tt]=x;
}
return 0;
}
Acwing 830 单调栈
最新推荐文章于 2024-06-15 10:00:00 发布