Submission
Status:
PPPPPP--P-
Score: 70
User: SnowAveNode
Problemset: Fool's Compensation
Language: cpp
Time: 0.004 second
Submitted On: 2025-03-24 08:58:39
#include<bits/stdc++.h>
using namespace std;
int main() {
int n; cin >> n;
int arr[n], com[n]={0};
for(int i=0;i<n;i++){
cin >> arr[i];
}
com[0]=1;
for(int i=0;i<n-1;i++){
if(arr[i+1]>arr[i]){
com[i+1]=com[i]+1;
} else if(arr[i+1]==arr[i]){
com[i+1]=com[i];
} else {
com[i+1]=1;
}
}
for(int i=n-1;i>0;i--){
int compensation;
if(arr[i-1]>arr[i]){
compensation=com[i]+1;
} else if(arr[i-1]==arr[i]){
compensation=com[i];
} else {
compensation=1;
}
if(compensation>com[i-1]){
com[i-1]=compensation;
}
}
cout << accumulate(com,com+n,0)*1000;
}