Submission
Status:
PP-P--PP-P
Subtask/Task Score:
60/100
Score: 60
User: C12
Problemset: Fool's Compensation
Language: cpp
Time: 0.002 second
Submitted On: 2026-01-07 16:53:53
#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[i-1] && j >= 0){
mn = recursive(i-1);
}
}
j = i+1;
if(j < n){
while(arr[i] == arr[j] && j < n) j++;
if(arr[i] > arr[j] && j < n){
mn = recursive(i+1);
}
}
dp[i] = mn + 1000;
return dp[i];
}
void solve(){
cin >> n;
for(int i = 0;i < n;i++){
cin >> arr[i];
}
ll sum = 0;
for(int i = 0;i < n;i++){
sum += recursive(i);
}
cout << sum;
return;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
ll q;
// cin >> q;
// while(q--)
solve();
return 0;
}