有n只羊,(姑且算是羊吧,也有可能是牛啊猫啊什么之类的),每只羊都有一个身高,前面的羊要看到后面的羊的条件是,后面的羊高度要小于前面的羊,就问各位羊加起来看到的牛多少只.......
#include<iostream>
#include<stack>
#include<stdio.h>
using namespace std;
int main()
{
int n;
while(scanf("%d",&n)>0)
{
stack<__int64>Q;
__int64 num,sum=0;
scanf("%I64d",&num);
Q.push(num);
for(int i=1;i<n;i++)
{
scanf("%I64d",&num);
while(!Q.empty()&&Q.top()<=num)
Q.pop();
sum+=Q.size();
Q.push(num);
}
printf("%I64d
",sum);
}
return 0;
}