#include <bits/stdc++.h>
using namespace std;

int carFleet(int target, vector<int> position, vector<int> speed) {
        vector<pair<int,int>>nums;
        for(int i=0;i<position.size();i++) {
            nums.push_back({position[i],speed[i]});
        }
        sort(nums.begin(), nums.end());


        stack<pair<int,int>>st;

        for(int i=0; i<nums.size();i++) {
            while(!st.empty() && st.top().second>nums[i].second) {
                // if(st.top().first + st.top().second <= target) st.pop();
                int pos1 = st.top().first;
                int speed1 = st.top().second;
                int pos2 = nums[i].first;
                int speed2 = nums[i].second;

                double value = std::abs(speed1 * pos2 - speed2 * pos1) / std::abs(speed1 - speed2);
                int roundedUp = static_cast<int>(ceil(value));
                cout << fixed << setprecision(5) << value << endl;

                if(roundedUp<=target) st.pop();
                else break;
            }
            st.push(nums[i]);
        }
        return st.size();
    }

int main() {
	// your code goes here
	cout<<carFleet(13, {10,2,5,7,4,6,11}, {7,5,10,5,9,4,1});
	return 0;
}