Submission

Status:

PP-P--PP-P

Subtask/Task Score:

60/100

Score: 60

User: C12

Problemset: Fool's Compensation

Language: cpp

Time: 0.003 second

Submitted On: 2026-01-07 16:56:22

#include <bits/stdc++.h>
using namespace std;

#define f first
#define s second
#define pii pair<ll,ll>
#define puii pair<ull,ull>
#define piii pair<ll,pii>
#define tiiii tuple<ll,ll,ll,ll>
#define ll long long
#define ull unsigned long long
#define mp make_pair
#define mt make_tuple
 
#define mpiiii(a,b,c) make_pair(a,make_pair(b,c));
// ll mod = 1000000007;

ll n;
ll dp[10000];
ll arr[10000];

ll recursive(ll i){
    if(dp[i] > 0)
        return dp[i];

    ll mn = 0;
    ll j;
    j = i-1;
    if(j >= 0){
        while(arr[i] == arr[j] && j >= 0) j--;
        if(arr[i] > arr[j] && j >= 0){
            mn = recursive(j);
        }
    }
    j = i+1;
    
    if(j < n){
        while(arr[i] == arr[j] && j < n) j++;
        if(arr[i] > arr[j] && j < n){
            mn = recursive(j);
        }
    }
    dp[i] = mn + 1000;
    return dp[i];
}

void solve(){
    cin >> n;
    for(int i = 0;i < n;i++){
        cin >> arr[i];
    }

    ll sum = 0;
    
    // cout << '\n';
    for(int i = 0;i < n;i++){
        sum += recursive(i);
        // cout << recursive(i) << '\n';
    }
    cout << sum;

    return;
}
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);

    ll q;
 
    // cin >> q;

    // while(q--)
        solve(); 

    return 0;
}
/*
10          
3
3
3
3
3
3
3
2
1
0
*/