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