<?php
$numbers = array(1,3,2,23,24,25,26,8);
$sorted = $numbers;
$current = null;
foreach ($sorted as $v) {
$current = array($v, $v); } else {
if ($current[1] + 1 == $v) {
$current[1] = $v;
} else {
$result[] = $current;
$current = array($v, $v); }
}
}
$result[] = $current;
foreach ($numbers as $v) {
foreach ($result as $k => $r) {
if ($v >= $r[0] && $v <= $r[1]) {
$arranged[] = $r;
break;
}
}
}
PD9waHAKCiRudW1iZXJzID0gYXJyYXkoMSwzLDIsMjMsMjQsMjUsMjYsOCk7CgokcmVzdWx0ID0gYXJyYXkoKTsKCiRzb3J0ZWQgPSAkbnVtYmVyczsKc29ydCgkc29ydGVkKTsKCiRjdXJyZW50ID0gbnVsbDsKZm9yZWFjaCAoJHNvcnRlZCBhcyAkdikgewogICAgaWYgKGlzX251bGwoJGN1cnJlbnQpKSB7CiAgICAgICAgJGN1cnJlbnQgPSBhcnJheSgkdiwgJHYpOwogICAgfSBlbHNlIHsKICAgICAgICBpZiAoJGN1cnJlbnRbMV0gKyAxID09ICR2KSB7CiAgICAgICAgICAgICRjdXJyZW50WzFdID0gJHY7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHJlc3VsdFtdID0gJGN1cnJlbnQ7CiAgICAgICAgICAgICRjdXJyZW50ID0gYXJyYXkoJHYsICR2KTsKICAgICAgICB9CiAgICB9Cn0KCiRyZXN1bHRbXSA9ICRjdXJyZW50OwoKJGFycmFuZ2VkID0gYXJyYXkoKTsKCmZvcmVhY2ggKCRudW1iZXJzIGFzICR2KSB7CiAgICBmb3JlYWNoICgkcmVzdWx0IGFzICRrID0+ICRyKSB7CiAgICAgICAgaWYgKCR2ID49ICRyWzBdICYmICR2IDw9ICRyWzFdKSB7CiAgICAgICAgICAgICRhcnJhbmdlZFtdID0gJHI7CiAgICAgICAgICAgIHVuc2V0KCRyZXN1bHRbJGtdKTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQp9Cgp2YXJfZHVtcCgkYXJyYW5nZWQpOw==