>(5,6,7,8,9,10, 15, 20...)
That can't happen - See the condition above in that no neighbour (ie. next adjacent number) is ever less than 5, and also all sequences are always ascending. Hence there should be a solution for this type of final data. Here is some code that sorts the first list so that all distances between numbers in the first list 10 or more, but fails for the second list when 2 or more consecutive numbers are less than 10.
$count = 0;
$time = 0;
$last_time = 0;
$time_diff = 100; #to ensure the first value appears in list 1
foreach $time (@times) {
unless ($count == 0) {$time_diff = $last_time - $time};
if ($time_diff >= 10) {push (@times1, $time} else
{push (@times2, $time)};
$last_time = $time;
$count ++;
} #end foreach