Submission
Status:
PPPPP-----
Score: 50
User: Cmoss9
Problemset: Fool's Compensation
Language: cpp
Time: 0.003 second
Submitted On: 2025-03-17 23:18:30
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(0); cin.tie(0);
int n;
cin >> n;
vector<int> sales(n), compensation(n, 1000);
for (int i = 0; i < n; i++) {
cin >> sales[i];
}
// สแกนจากซ้ายไปขวา
for (int i = 1; i < n; i++) {
if (sales[i] > sales[i - 1]) {
compensation[i] = max(compensation[i],compensation[i - 1] + 1000);
}
}
// สแกนจากขวาไปซ้าย
for (int i = n - 2; i >= 0; i--) {
if (sales[i] > sales[i + 1]) {
compensation[i] = max(compensation[i], compensation[i + 1] + 1000);
}
}
for (int i = 0; i < n; i++) {
if (sales[i] == sales[i + 1]) {
compensation[i + 1] = compensation[i];
}
}
int sum = accumulate(compensation.begin(), compensation.end(), 0);
cout << sum;
}