#include<iostream> #include<stack> using namespace std; int main() { stack<long long>s; long long n,t,sum; sum=0; scanf("%lld",&n); while(n--) { scanf("%lld",&t); while(s.size()>0&&s.top()<=t) s.pop(); sum+=s.size(); s.push(t); } printf("%lld\n",sum); }
单调栈