ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

2178. Вадим и судоку: ренбан

Ограничение времени: 1.0 секунды
Ограничение памяти: 512 МБ
Как Вы уже поняли, Вадим очень любит как решать, так и составлять судоку с необычными правилами. В этой задаче он расскажет Вам про ренбан-линии. Эта линия может проходить через любое количество клеток, а значения из этих клеток образуют набор целых последовательных неповторяющихся чисел в любом порядке. Например, линия, проходящая через 5 клеток cо значениями 4,7,5,3,6, образует ренбан, а линия, проходящая через 3 клетки с значениями 2,1,8, — не является ренбаном.
В этот раз Вадим составил строку из N чисел и хочет поместить на неё ренбан-линию так, чтобы она проходила через какие-либо последовательные клетки (другими словами, подотрезок). Помогите ему найти количество способов это сделать.

Исходные данные

В первой строке дано целое число N — количество чисел в строке Вадима (1 ≤ N ≤ 105).
Во второй строке даны N целых чисел ai — числа строки в порядке записи (1 ≤ ai ≤ 105).

Результат

Выведите количество способов разместить на строке ренбан.

Пример

исходные данныерезультат
5
4 2 3 1 2
11

Замечания

В данном выше примере ренбан-линия может проходить через клетки подотрезков [4], [4,2,3], [4,2,3,1], [2], [2,3], [2,3,1], [3], [3,1,2], [1], [1,2], [2].
Автор задачи: Вадим Баринов
Источник задачи: Уральская командная олимпиада по программированию 2023