Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <vector>
- #include <iostream>
- using namespace std;
- void solve_this(vector<int> nums, int l){
- if (l < 2) return;
- int minidx = 1;
- int maxidx = 0;
- int i = 2;
- double val = (double)nums[minidx] / (double)nums[maxidx];
- double maxleft = nums[maxidx] > nums[minidx] ? nums[maxidx] : nums[minidx];
- int maxleftidx = nums[maxidx] > nums[minidx] ? maxidx : minidx;
- for(i = 2; i < l; i++) {
- if (maxleft < nums[i - 1])
- {
- maxleft = nums[i - 1];
- maxleftidx = i - 1;
- }
- if (((double)nums[i]) / maxleft < val) {
- val = ((double)nums[i]) / maxleft;
- maxidx = maxleftidx;
- minidx = i;
- cout << i << endl;
- }
- }
- if (val >= 1) {
- cout << 0 << endl;
- return;
- }
- for (int j = maxidx; j <= minidx; j++){
- cout << nums[j] << " ";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement