В прошлом месяце я позаимствовал много книг из библиотеки. Все они были хорошими книгами, наполненными эмоциями и интригами. К сожалению, в некоторые моменты я очень разозлился / расстроился / разочаровался, поэтому порвал несколько страниц.
Теперь библиотека хочет знать, сколько страниц я вырвал за каждую книгу.
Ваша цель - написать программу, которая использует отсортированный список чисел, разделенных запятыми, в качестве входных данных и печатает минимально и максимально возможное количество страниц, которое я мог бы вырвать. Каждая строка представляет книгу, каждое число представляет отсутствующую страницу из книги.
Пример ввода:
7,8,100,101,222,223
2,3,88,89,90,103,177
2,3,6,7,10,11
1
1,2
Пример вывода:
4/5
5/6
3/6
1/1
1/2
4/5
означает, что я мог вырвать 4 или 5 страниц, в зависимости от того, с какой стороны начинается нумерация страниц книги. Можно было бы вырвать страницу 6/7, страницу 8/9, страницу 100/101 и страницу 222/223 (4 страницы). В качестве альтернативы можно было бы вырвать страницу 7/8, страницу 99/100, страницу 101/102, страницу 221/222 и страницу 223/224 (5 страниц).
Помните, что страница книги всегда имеет переднюю и заднюю стороны. Кроме того, нумерация страниц отличается от книги к книге. Некоторые книги имеют четные номера страниц на левой странице; некоторые на правой странице. Все книги читаются слева направо.
Самый короткий код в байтах побеждает. Строгий формат ввода-вывода не требуется. Ваши программы должны быть в состоянии принять одну или несколько книг в качестве входных данных. Повеселись.
min/max
либо все max/min
. (Хотя лично я предпочел бы, чтобы это не было частью спецификации!)
programs must be able to take one or more books as input
править? Большинство (если не все) просто обернут код, чтобы проверить одну книгу в цикле или что-то еще. ИМХО, это просто добавляет накладные расходы к ответу практически без выгоды для задачи. На эти вопросы уже получено много ответов, поэтому лучше оставить все как есть, но помните об этом для решения будущих задач.
1,3,5,7,9,11,13,15,17,18
- на благо языков, встроенное sort
метод лексикографических по умолчанию (при условии , требования последовательно отсортировано будет добавлено в спецификацию).
4/5
и5/4
)