Submission
Status:
PP-P------
Score: 30
User: osensunny
Problemset: Fool's Compensation
Language: cpp
Time: 0.003 second
Submitted On: 2025-03-20 14:20:32
#include<bits/stdc++.h>
using namespace std;
#define ii pair<int, int>
#define fi first
#define se second
int N, r, sum, rate[10005], money[10005];
vector<bool> vis(100005, false);
vector<ii> vect;
int main(){
ios_base::sync_with_stdio(false); cin.tie(NULL);
cin >> N;
for(int i=0; i<N; i++){
cin >> r;
rate[i] = r;
vect.push_back({r, i});
}
sort(vect.begin(), vect.end());
money[vect[0].se] = 1000;
vis[vect[0].se] = true;
for(int i=1; i<N; i++){
int va = vect[i].fi, idx = vect[i].se;
if(idx-1 >= 0 && vis[idx-1]){
if(rate[idx] == rate[idx-1]) money[idx] = money[idx-1];
else if(rate[idx] > rate[idx-1]) money[idx] = money[idx-1] + 1000;
else money[idx] = money[idx-1] - 1000;
}
else money[idx] = 1000;
if(idx+1 < N && vis[idx+1]){
if(rate[idx] == rate[idx+1]) money[idx] = money[idx+1];
else if(rate[idx] > rate[idx+1]) money[idx] = money[idx+1] + 1000;
else money[idx] = money[idx+1] - 1000;
}
vis[idx] = true;
}
for(int i=0; i<N; i++) sum += money[i];
cout << sum << '\n';
return 0;
}
/*
10
3 3 3 3 3 3 3 2 1 0
*/