Как Вы уже поняли, Вадим очень любит как решать, так и составлять судоку с необычными правилами. В этой задаче он расскажет Вам про ренбан-линии. Эта линия может проходить через любое количество клеток, а значения из этих клеток образуют набор целых последовательных неповторяющихся чисел в любом порядке. Например, линия, проходящая через 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