• 1个月前
`#include <bits/stdc++.h> using namespace std; int x,n,ans; stacks; int main() {
cin>>n;
while (n--)
{
cin>>x;int t=1;
while (s.size() && x>=s.top())
{
if (s.top()==x)t++;
ans++;s.pop();
}
if (s.size())ans++;
while (t--)s.push(x);
}
cout<<ans;
return 0;
}`
Comments:
#include <bits/stdc++.h>
using namespace std;
int x,n,ans;
stack<int>s;
int main()
{
cin>>n;
while (n--)
{
cin>>x;int t=1;
while (s.size() && x>=s.top())
{
if (s.top()==x)t++;
ans++;s.pop();
}
if (s.size())ans++;
while (t--)s.push(x);
}
cout<<ans;
return 0;
}