Submission
Status:
PPPPPPPPPP
Score: 100
User: Angonnyyy
Problemset: Fool's Compensation
Language: cpp
Time: 0.005 second
Submitted On: 2025-03-17 22:17:57
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
long long int total=0;
cin>>n;
vector<int>salary(n,1),score(n);
for(int i = 0;i<n;i++){
cin >> score[i];
}
for(int i = 0;i<n-1;i++){
if(score[i]<score[i+1]){
salary[i+1]=salary[i]+1;
}
else if(score[i]==score[i+1]){
salary[i+1]=salary[i];
}
}
for(int i = n-1;i>0;i--){
if(score[i]<score[i-1] && salary[i]>=salary[i-1]){//i-1 have more
salary[i-1]=salary[i]+1;
}
else if(score[i]==score[i-1]){//compare pick most
salary[i-1]=max(salary[i-1],salary[i]);
salary[i]=salary[i-1];
}
}
for(int i=0;i<n;i++){
total+=salary[i];
//cout << salary[i] << " ";
}
total*=1000;
cout<<total;
}