Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Чат
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

Блоки

(Время: 3 сек. Память: 16 Мб Сложность: 26%)

Дана последовательность из N целых чисел. Необходимо «сжать» данную последовательность, объединив одинаковые подряд идущие элементы в блоки.

Входные данные

Первая строка входного файла INPUT.TXT содержит одно натуральное число N – количество элементов последовательности (N ≤ 106). Во второй строке записаны N элементов последовательности (целые числа, разделенные пробелами, не превосходящие 109 по абсолютной величине).

Выходные данные

В выходной файл OUTPUT.TXT выведите количество блоков, а потом сами блоки – в квадратных скобках: сначала значение элемента последовательности, а потом количество одинаковых подряд идущих элементов.

Примеры

INPUT.TXTOUTPUT.TXT
19
1 1 2 3 3 3 2 1 1
5 [1 2] [2 1] [3 3] [2 1] [1 2]
23
1 2 3
3 [1 1] [2 1] [3 1]

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Школьный этап
 Муниципальный этап
 Региональный этап
 Полуфинал ВКОШП
 Личное первенство СФУ
 2006 / 2007
 2007 / 2008
 2008 / 2009
 2009 / 2010
 2010 / 2011
 2011 / 2012
 2012 / 2013
 2013 / 2014
 2014 / 2015
 2015 / 2016
 2016 / 2017
 A. Треугольник
 B. Блоки
 C. Мосты
 D. Скидки
 E. Забег
 F. Формула
 G. Беспризорник
 H. Квадратный корень
 I. Студенты
 J. Слова

Красноярский краевой Дворец пионеров, (c)2006 - 2017, ICQ: 151483