Advertisement
nikunjsoni

1793

Apr 6th, 2021
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.64 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int maximumScore(vector<int>& nums, int k) {
  4.         int ans, left, right, sz, mini;
  5.         left = right = k;
  6.         sz = nums.size();
  7.         ans = nums[k];
  8.        
  9.         mini = nums[k];
  10.         while(left > 0 || right < sz-1){
  11.             if(left == 0)
  12.                 right++;
  13.             else if(right == sz-1)
  14.                 left--;
  15.             else if(nums[left-1] < nums[right+1])
  16.                 right++;
  17.             else
  18.                 left--;
  19.             mini = min(mini, min(nums[right], nums[left]));
  20.             ans = max(ans, mini*(right-left+1));
  21.         }
  22.         return ans;
  23.     }
  24. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement