我不行啦,发论坛!.py

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
struct node{
    ll x, i, c;
};
node a[500005];
ll ansl[500005], sum=0, ansr[500005];
stack<node> s;
int main(){
    ll n;
    cin >> n;
    for(ll i=0;i<n;i++){
        cin >> a[i].x;
        a[i].i=i;
        a[i].c=1;
    }
    for(ll i=0;i<n;i++){
        while(!s.empty()&&s.top().x<=a[i].x){
            sum+=s.top().c;
                if(s.top().x==a[i].x){
                    a[i].c+=s.top().x;
                }
            s.pop();
        }
        if(!s.empty()){
            sum++;
        }
        s.push(a[i]);
    }
    cout << sum;
}

image
哪个好心人救救我吧 :melting_face:

(帖子已被作者删除)

:sweat_smile:
@栗子酱 @Erin @金杭东 管贴吧,呵呵,A了