Submission

Status:

-------P-P

Subtask/Task Score:

20/100

Score: 20

User: navysrimuang

Problemset: Fool's Compensation

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-16 15:42:35

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

int mn = INT_MAX;
int mn_id = 0;
int main(){
	cin.tie(0)->sync_with_stdio(0);
	int n;
	cin >> n;
	vector<int> v(n),r(n);
	for(int i = 0;i<n;i++){
		cin >> v[i];
		if(v[i] < mn){
			mn = v[i];
			mn_id = i;
		}
	}
	r[mn_id] = 1;
	for(int i = mn_id+1;i<n;i++){
			if(v[i] == v[i-1]) r[i] = r[i-1];
			else if(v[i] > v[i-1]) r[i] = r[i-1]+1;
			else r[i] = r[i-1]-1;
	}

	for(int i = mn_id-1;i >= 0;i--){
			if(v[i] == v[i+1]) r[i] = r[i+1];
			else if(v[i] > v[i+1]) r[i] = r[i+1]+1;
			else r[i] = r[i+1]-1;

	}
	int i = 0;
	if(r[i] != 1){
		int k = 1;
		while(r[i+1] > r[i]){
			r[i] = k;	
			k++;
			i++;
		}
	}
	
	ll sum = 0;
	for(int x : r) sum += x;
	cout << sum*1000 << "\n";
	return 0;
}