Submission
Status:
PPPPP-PP-P
Score: 80
User: Ecir
Problemset: Fool's Compensation
Language: cpp
Time: 0.003 second
Submitted On: 2025-03-13 23:18:00
#include <bits/stdc++.h>
using namespace std;
using ll=long long int;
#define twod array<ll,2>
int arr[10009];
ll dp[10009];
bool vis[10009][10009];
int main(){
ios::sync_with_stdio(0);cin.tie(0);
int n;cin >> n;
for(int i=1;i<=n;i++) {
cin >> arr[i];
dp[i]=1000;
}
for(int i=1;i<=n;i++){
if(arr[i]<arr[i+1]) dp[i+1]=max(dp[i+1],dp[i]+1000) ;
}
for(int i=n;i>=1;i--){
if(arr[i]<arr[i-1]) dp[i-1]=max(dp[i-1],dp[i]+1000);
else if(arr[i]==arr[i-1]) dp[i-1]=max(dp[i-1],dp[i]);
}
// for(int i=1;i<=n;i++) cout << dp[i] << " ";
ll ans=0;
for(int i=1;i<=n;i++) ans+=dp[i];
cout << ans;
return 0;
}
/*10 3 3 3 3 3 3 3 2 1 0*/