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;
}