Submission

Status:
----------

Score: 0

User: qwerty

Problemset: Fool's Compensation

Language: cpp

Time: 0.005 second

Submitted On: 2025-03-16 21:05:01

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

// 12 1476 2903 2817 2342 1797 2925 1322 1582 1471 2706 4506 1000
//    1000 4000 3000 2000 1000 2000 1000 2000 1000 2000 3000 1000
//    1000 2000 1000 1000 1000 2000 1000 2000 1000 2000 3000 1000
//    1000 4000 3000 2000 1000 2000 1000 2000 1000 2000 3000 1000
int main() {
    int n;
    cin >> n;
    vector<int> sell(n);
    for (int i = 0 ; i < n ; i++) {
        cin >> sell[i];
    }

    // 12 1476 2903 2817 2342 1797 2925 1322 1582 1471 2706 4506 1000
    //    1000 4000 3000 2000 1000 2000 1000 2000 1000 2000 3000 1000
    //    1000 2000 1000 1000 1000 2000 1000 2000 1000 2000 3000 1000
    //    1000 4000 3000 2000 1000 2000 1000 2000 1000 2000 3000 1000
    vector<int> mon(n, 1000);
    for (int i = 1 ; i < n ; i++) {
        if (sell[i]>sell[i-1]) mon[i]=mon[i-1]+1000;
        else if (sell[i]==sell[i-1]) mon[i]=mon[i-1];
    }
    for (int i = n-2 ; i >= 0 ; i--) {
        if (sell[i]>sell[i+1] && mon[i]<=mon[i+1]) mon[i]=mon[i+1]+1000;
        else if (sell[i]==sell[i+1]) mon[i]=mon[i+1];
    }

    int ans = 0;
    for (auto i : mon) {
        cout << i << " ";
        ans+=i;
    }
    cout << endl << ans;
}

// 12 1476 2903 2817 2342 1797 2925 1322 1582 1471 2706 4506 1000
//                    ... 1000 2000 1000 2000  --  1000 2000 1000