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;
}