Submission
Status:
PPPPP-PP-P
Score: 80
User: SnowAveNode
Problemset: Fool's Compensation
Language: cpp
Time: 0.006 second
Submitted On: 2025-03-24 09:10:22
#include<bits/stdc++.h>
using namespace std;
long long calculate_min_payment(int N, const vector<int>& sales) {
vector<long long> pay(N, 1000);
for (int i = 1; i < N; ++i) {
if (sales[i] > sales[i - 1]) {
pay[i] = pay[i - 1] + 1000;
}
}
for (int i = N - 2; i >= 0; --i) {
if (sales[i] > sales[i + 1]) {
pay[i] = max(pay[i], pay[i + 1] + 1000);
}
}
long long total = 0;
for (int i = 0; i < N; ++i) {
total += pay[i];
}
return total;
}
int main() {
int N; cin >> N;
vector<int> sales(N);
for (int i = 0; i < N; ++i) {
cin >> sales[i];
}
long long result = calculate_min_payment(N, sales);
cout << result << endl;
}