有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; }