#include #include using namespace std; class Solution { static vector get_upstairs_lengths(vector& ratings) { vector upstairs(ratings.size(), 1); for (int i = 1; i < ratings.size(); i++) { if (ratings[i] > ratings[i - 1]) { upstairs[i] = upstairs[i - 1] + 1; } } return upstairs; } static vector get_downstairs_lengths(vector& ratings) { vector downstairs(ratings.size(), 1); for (int i = ratings.size() - 2; i >= 0; i--) { if (ratings[i] > ratings[i + 1]) { downstairs[i] = downstairs[i + 1] + 1; } } return downstairs; } public: int candy(vector& ratings) { vector upstairs = get_upstairs_lengths(ratings); vector downstairs = get_downstairs_lengths(ratings); int ans = 0; for (int i = 0; i < ratings.size(); i++) { ans += max(upstairs[i], downstairs[i]); } return ans; } }; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); size_t ratings_amount; cin >> ratings_amount; vector ratings(ratings_amount); for (int i = 0; i < ratings_amount; i++) { cin >> ratings[i]; } Solution solution; cout << solution.candy(ratings) << endl; return 0; }