Submission

Status:

PPPPPx-P-P

Subtask/Task Score:

70/100

Score: 70

User: devilpoohs

Problemset: Fool's Compensation

Language: cpp

Time: 0.003 second

Submitted On: 2026-03-08 12:19:41

#include<bits/stdc++.h>
using namespace std;
#define f first
#define s second

bool comp(pair<int,int>& a,pair<int,int>& b){
    return a.s<b.s;
}


int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n;
    cin>>n;
    pair<int,int> pa[n];
    int ar[n];
    int ara[n];
    for(int i=0;i<n;i++){
        cin>>pa[i].f;
        pa[i].s=i;
        ar[i]=0;
        ara[i]=pa[i].f;
    }
    sort(pa,pa+n);
    int temp;
    for(int i=0;i<n;i++){
        int ii=pa[i].s;
        if(ii-1>=0 and ara[ii]!=ara[ii-1])
            ar[ii]=max(ar[ii],ar[ii-1]+1);
        if(ii+1<n and ara[ii]!=ara[ii+1])
            ar[ii]=max(ar[ii],ar[ii+1]+1);
        // cout<<ii<<','<<ar[ii]<<'\n';
        if(i>=0 and pa[i].f==pa[i-1].f){
            temp=0;
            temp=max(temp,ar[pa[i].s]);
            temp=max(temp,ar[pa[i-1].s]);
            ar[pa[i].s]=temp;
            ar[pa[i-1].s]=temp;
        }
    }
    sort(pa,pa+n,comp);
    int sum=0;
    for(int i=0;i<n;i++){
        // cout<<ar[i]<<',';
        sum+=ar[i];
    }
    cout<<sum<<"000";
    return 0;
}