Submission
Status:
PPPPPPPP-P
Subtask/Task Score:
90/100
Score: 90
User: meme_boi2
Problemset: Fool's Compensation
Language: cpp
Time: 0.003 second
Submitted On: 2026-03-19 00:59:03
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pii array<int,2>
priority_queue <pii,vector<pii>,greater<pii>> pq;
int32_t main(){
cin.tie(nullptr)->sync_with_stdio(0);
int n;
cin >> n;
vector<int> mat(n+2,1e5+222);
for(int i = 1; i <= n; i++){
cin >> mat[i];
pq.push({mat[i],i});
}
vector<int> ans(n+2,0);
while(!pq.empty()){
auto [val,idx] = pq.top();
pq.pop();
if(mat[idx-1] == val ){
if(ans[idx-1] >0)
ans[idx] = (mat[idx-1] == val ? ans[idx-1] : ans[idx+1]);
else{
ans[idx] = 1;
}
}
else ans[idx] = max(ans[idx-1],ans[idx+1]) +1;
}
int sum = 0;
for(int i = 1; i <= n; i++) {
sum += ans[i];
// cout << ans[i] << ' ';
}
cout << 1000ll*sum;
}
/*
c2_su65_foolcomp
cd "c:\Users\RICOH-NB110\Desktop\Computer Programing\gchan\" ; if ($?) { g++ c2_su65_foolcomp.cpp -o c2_su65_foolcomp } ; if ($?) { .\c2_su65_foolcomp}
*/