Advertisement
Ritam_C

O Valley of Plenty! CP101

Jan 28th, 2021
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.49 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. #define ld long double
  4. #define pb push_back
  5. #define p_b pop_back
  6. #define si stack<int>
  7. #define sll stack<ll>
  8. #define sc stack<char>
  9. #define vi vector<int>
  10. #define vll vector<ll>
  11. #define mii map<int, int>
  12. #define msi map<string, int>
  13. #define mci map<char, int>
  14. #define qc queue<char>
  15. #define qi queue<int>
  16. #define qll queue<ll>
  17. using namespace std;
  18.  
  19. int main(){
  20.     ios_base::sync_with_stdio(false);
  21.     cin.tie(NULL);
  22.     long n;
  23.     cin >> n;
  24.     vll v;
  25.     for(long i = 0; i < n; i++){
  26.         ll x;
  27.         cin >> x;
  28.         v.pb(x);
  29.     }
  30.  
  31.     int64_t max = 0;
  32.     long i = 0;
  33.  
  34.     int64_t min = v[0], m = v[0];
  35.     for(long k = 1; k < n; k++){
  36.         if(min > v[k]){
  37.             min = v[k];
  38.         }
  39.  
  40.         if(m < v[k]){
  41.             m = v[k];
  42.         }
  43.     }
  44.     if(m == min){
  45.         cout << n*m << "\n";
  46.     } else{
  47.         int i = 0;
  48.         while(i < n){
  49.             int count = 1, j = i+1, k = i-1;
  50.             if(v[i] == min){
  51.                 count = n;
  52.             } else{
  53.                 while(j < n && v[j] >= v[i]){
  54.                     j++;
  55.                     count++;
  56.                 }
  57.  
  58.                 while(k >= 0 && v[k] >= v[i]){
  59.                     k--;
  60.                     count++;
  61.                 }
  62.             }
  63.  
  64.             if(max < count*v[i]){
  65.                 max = count*v[i];
  66.             }
  67.  
  68.             i++;
  69.         }
  70.  
  71.         cout << max << "\n";
  72.     }
  73.     return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement