#include <iostream>
#include <utility>
#include <algorithm>

std::vector< std::pair<double,double> > unoccupied( const std::vector<double>& seq )
{
    constexpr double multiplier_after = 1.10 ;
    constexpr double multiplier_before = 0.90 ;

    std::vector< std::pair<double,double> > result ;

    if( seq.size() > 1 && std::is_sorted( std::begin(seq), std::end(seq) ) )
    {
        double prev = seq.front() * multiplier_after ;
        for( auto iter = ++std::begin(seq) ; iter != std::end(seq) ; ++iter )
        {
            double curr = *iter * multiplier_before ;
            if( curr > prev ) result.emplace_back( prev, curr ) ;
            prev = *iter * multiplier_after ;
        }
    }

    return result ;
}

int main()
{
    for( const auto& p : unoccupied( { 2.0, 2.1, 2.13, 2.2, 3.5, 3.6, 3.9, 6.4, 7.0 } ) )
        std::cout << '[' << p.first << '-' << p.second << "] " ;
    std::cout << '\n' ;
}
