Submission
Status:
PPPPPPPPPP
Score: 100
User: Ongsa123
Problemset: Fool's Compensation
Language: cpp
Time: 0.002 second
Submitted On: 2025-03-13 23:15:00
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(0); cin.tie(0);
int N; cin >> N;
vector<int> sales(N);
vector<int> bonus(N, 1);
for (int i = 0; i < N; i++) cin >> sales[i];
for (int i = 1; i < N; i++) {
if (sales[i] > sales[i - 1]) {
bonus[i] = bonus[i - 1] + 1;
}
else if (sales[i] == sales[i - 1]) {
bonus[i] = bonus[i-1];
}
}
for (int i = N - 2; i >= 0; i--) {
if (sales[i] > sales[i + 1] && bonus[i] <= bonus[i + 1]) {
bonus[i] = bonus[i + 1] + 1;
}
else if (sales[i] == sales[i + 1]) {
bonus[i] = max(bonus[i + 1],bonus[i]);
}
}
//for(auto x : bonus) cout << x*1000 << "\n";
long long total = accumulate(bonus.begin(), bonus.end(), 0LL);
cout << total*1000;
return 0;
}