48分求助QAQ
查看原帖
48分求助QAQ
339335
cougarmace楼主2023/4/2 11:16

RE了一大片QAQ

#include<iostream>
#include<cstdio>
#include<map>
#include<queue>
#include<stack>
using namespace std;
long long n,a[100010],ans=0;
stack<int> q;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=1;i<=n;i++){
        int sum=1; 
        while(!q.empty()&&q.top()<=a[i]){
            if(q.top()==a[i])sum++;
            ans++;
            q.pop();
        }
        if(q.size())ans++;
        while(sum--){
            q.push(a[i]);
        }
    }
    cout<<ans;
    return 0;
}
2023/4/2 11:16
加载中...