Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define ll long long
- #define ld long double
- #define pb push_back
- #define p_b pop_back
- #define si stack<int>
- #define sll stack<ll>
- #define sc stack<char>
- #define vi vector<int>
- #define vll vector<ll>
- #define mii map<int, int>
- #define msi map<string, int>
- #define mci map<char, int>
- #define qc queue<char>
- #define qi queue<int>
- #define qll queue<ll>
- using namespace std;
- int main(){
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- long n;
- cin >> n;
- vll v;
- for(long i = 0; i < n; i++){
- ll x;
- cin >> x;
- v.pb(x);
- }
- int64_t max = 0;
- long i = 0;
- int64_t min = v[0], m = v[0];
- for(long k = 1; k < n; k++){
- if(min > v[k]){
- min = v[k];
- }
- if(m < v[k]){
- m = v[k];
- }
- }
- if(m == min){
- cout << n*m << "\n";
- } else{
- int i = 0;
- while(i < n){
- int count = 1, j = i+1, k = i-1;
- if(v[i] == min){
- count = n;
- } else{
- while(j < n && v[j] >= v[i]){
- j++;
- count++;
- }
- while(k >= 0 && v[k] >= v[i]){
- k--;
- count++;
- }
- }
- if(max < count*v[i]){
- max = count*v[i];
- }
- i++;
- }
- cout << max << "\n";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement