题目链接:点击打开链接
题目分析:好用的单调栈! 维持栈内严格递减的顺序,因为栈顶元素小于当前的一定是看不见当前的所以留在那里没有任何价值,弹出
题目拓展:点击打开链接
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<stack>
using namespace std;
stack<long long>data;
int main()
{
int t,i;
long long num,ans;
while(~scanf("%d",&t))
{
ans=0;
scanf("%lld",&num);
data.push(num);
for(i=1;i<t;i++)
{
scanf("%lld",&num);
while(!data.empty()&&data.top()<=num)
{
data.pop();
}
ans+=data.size();
data.push(num);
}
printf("%lld\n",ans);
}
return 0;
}