Advertisement
Refreezer

Untitled

Apr 16th, 2021
509
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.78 KB | None | 0 0
  1. #include <vector>
  2. #include <iostream>
  3. using namespace std;   
  4.  
  5. void solve_this(vector<int> nums, int l){
  6.     if (l < 2) return;
  7.     int minidx = 1;
  8.     int maxidx = 0;
  9.  
  10.     int i = 2;
  11.     double val = (double)nums[minidx] / (double)nums[maxidx];
  12.     double maxleft = nums[maxidx] > nums[minidx] ? nums[maxidx] : nums[minidx];
  13.     int maxleftidx = nums[maxidx] > nums[minidx] ? maxidx : minidx;
  14.  
  15.     for(i = 2; i < l; i++) {
  16.         if (maxleft < nums[i - 1])
  17.         {
  18.             maxleft = nums[i - 1];
  19.             maxleftidx = i - 1;
  20.         }
  21.  
  22.         if (((double)nums[i]) / maxleft < val) {
  23.             val = ((double)nums[i]) / maxleft;
  24.             maxidx = maxleftidx;
  25.             minidx = i;
  26.             cout << i << endl;
  27.         }
  28.     }
  29.  
  30.     if (val >= 1) {
  31.         cout << 0 << endl;
  32.         return;
  33.     }
  34.  
  35.     for (int j = maxidx; j <= minidx; j++){
  36.         cout << nums[j] << " ";
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement