提交时间:2024-04-08 21:35:47

运行 ID: 142713

#include <cstdio> #include <stack> #define ll long long using namespace std; stack <ll> s; ll a[500100]; int main() { ll n, ans = 0; scanf("%lld", &n); for(ll i = 1; i <= n; i++) scanf("%lld", &a[i]); for(ll i = 1; i <= n; i++) { ll t = 1, x = a[i]; while(s.size() && x >= s.top()) { if (s.top() == x) t++; ans++; s.pop(); } if(s.size()) ans++; for(ll j = 1; j <= t; j++) s.push(x); } printf("%lld\n", ans); return 0; }