fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. class Solution {
  4. public:
  5. int solution(vector<int>& blocks) {
  6. int n = blocks.size();
  7. vector<int> left(n), right(n);
  8.  
  9. left[0] = 0;
  10. for (int i = 1; i < n; i++) {
  11. if (blocks[i - 1] >= blocks[i])
  12. left[i] = left[i - 1];
  13. else
  14. left[i] = i;
  15. }
  16.  
  17. right[n - 1] = n - 1;
  18. for (int i = n - 2; i >= 0; i--) {
  19. if (blocks[i + 1] >= blocks[i])
  20. right[i] = right[i + 1];
  21. else
  22. right[i] = i;
  23. }
  24.  
  25. int ans = 1;
  26. for (int i = 0; i < n; i++) {
  27. ans = max(ans, right[i] - left[i] + 1);
  28. }
  29.  
  30. return ans;
  31. }
  32. };
  33. int main() {
  34. Solution sol;
  35.  
  36. vector<int> blocks1 = {2, 6, 8, 5};
  37. cout << "Output: " << sol.solution(blocks1) << endl;
  38. }
  39.  
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Output: 3