Submission

Status:

PPPPP-PP-P

Subtask/Task Score:

80/100

Score: 80

User: meme_boi2

Problemset: Fool's Compensation

Language: cpp

Time: 0.003 second

Submitted On: 2026-03-19 00:48:29

#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 || mat[idx+1] == val){ 
            if(ans[idx-1] >0 || 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 << 1000*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}
*/