AcWing 600. 仰视奶牛
原题链接
简单
作者:
WULI
,
2020-09-15 10:07:44
,
所有人可见
,
阅读 510
#include<iostream>
#include<algorithm>
#include<cstring>
#include<stack>
#include<vector>
using namespace std;
const int N=1e5+10;
int h[N];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)cin>>h[i];
reverse(h+1,h+n+1);
vector<int> v;
stack<int> st;
for(int i=1;i<=n;i++){
while(!st.empty()&&h[st.top()]<=h[i])st.pop();
if(st.empty())v.push_back(0);
else v.push_back(n-st.top()+1);
st.push(i);
}
while(!v.empty()){
cout<<v.back()<<endl;
v.pop_back();
}
return 0;
}