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
*/