QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 256 MB Total points: 100

#1207. Украшение зданий 3

Statistics

Международная олимпиада по информатике будет проходить в Японии. Чтобы приветствовать участников со всего мира, решили украсить высотные здания вдоль главной улицы от аэропорта до места проживания. Когда за дизайном обратились к известному дизайнеру, он сказал, что высоты используемых для украшения зданий должны возрастать в направлении от аэропорта к месту проживания. Иными словами, если высоты выбранных зданий в порядке удаления от аэропорта равны $h_1,h_2,h_3,\ldots$, должно выполняться $h_1<h_2<h_3<\cdots$.

Чтобы украшение выглядело как можно торжественнее, хочется использовать как можно больше зданий. JOI, которому поручили выбрать здания, подумал, что владелец какого-нибудь здания может предъявить нелепое требование: «Обязательно используйте моё здание для украшения. Более того, чтобы оно выделялось, сделайте так, чтобы среди всех используемых зданий именно оно было ближе всего к месту проживания».

Вдоль главной улицы от аэропорта до места проживания расположено $N$ зданий. Назовём зданием $i$ здание, которое находится на $i$-м месте по близости к аэропорту ($1 \le i \le N$). Высоты всех $N$ зданий различны. Чтобы быть готовым к любому требованию, JOI заранее вычислил для каждого здания следующее: «Если выбрать здания так, чтобы использовать здание $i$ и чтобы среди всех выбранных зданий именно здание $i$ было ближе всего к месту проживания, максимальное количество выбранных зданий равно $A_i$». JOI записал полученную последовательность целых чисел $A_1,A_2,\ldots,A_N$ и передал записку председателю K Японского комитета олимпиады по информатике.

Однако в записке, полученной председателем K, на самом деле была записана лишь последовательность целых чисел $B_1,B_2,\ldots,B_{N-1}$ длины $N-1$. Председатель K не знает высот зданий, поэтому не может вычислить значения $A_i$.

Председатель K решил, что JOI наверняка забыл записать одно число. В зависимости от высот зданий последовательность $A_1,A_2,\ldots,A_N$ может принимать разные виды. Сколько среди них таких, что после удаления одного элемента получается последовательность $B_1,B_2,\ldots,B_{N-1}$?

Однако на самом деле JOI мог допустить и другие ошибки при записи. При некоторых значениях $B_1,B_2,\ldots,B_{N-1}$ таких последовательностей может не быть вовсе.

Задача

Дана последовательность целых чисел $B_1,B_2,\ldots,B_{N-1}$ длины $N-1$. Напишите программу, которая находит количество возможных последовательностей $A_1,A_2,\ldots,A_N$, из которых удалением одного элемента можно получить последовательность $B_1,B_2,\ldots,B_{N-1}$.

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

Прочитайте следующие данные из стандартного ввода.

  • Первая строка содержит целое число $N$. Оно означает, что вдоль главной улицы от аэропорта до места проживания расположено $N$ зданий.
  • Строка $j$ ($1 \le j \le N-1$) из следующих $N-1$ строк содержит целое число $B_j$. Это $j$-й элемент последовательности, записанной в записке, которую получил председатель K.

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

Выведите в одной строке стандартного вывода целое число — количество возможных последовательностей $A_1,A_2,\ldots,A_N$, из которых удалением одного элемента можно получить последовательность $B_1,B_2,\ldots,B_{N-1}$.

Ограничения

Все входные данные удовлетворяют следующим условиям.

  • $2 \le N \le 1\,000\,000$.
  • $1 \le B_j \le N$ ($1 \le j \le N-1$).

Подзадачи

Подзадача 1 [10 баллов]

  • Выполняется $N \le 8$.

Подзадача 2 [30 баллов]

  • Выполняется $N \le 300$.

Подзадача 3 [60 баллов]

Без дополнительных ограничений.

Примеры

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

4
1
1
2

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

5

Примечание

Вдоль главной улицы от аэропорта до места проживания расположены 4 здания. Обозначим высоту здания $i$ через $H_i$.

В зависимости от высот зданий последовательность $A_1,A_2,A_3,A_4$ может принимать разные виды. Среди них следующие 5 последовательностей после удаления одного элемента дают последовательность $1,1,2$.

  • Последовательность $1,2,1,2$. Например, при $H_2>H_4>H_1>H_3$ выполняется $A_1=1,A_2=2,A_3=1,A_4=2$. Кроме того, при $H_2>H_1>H_4>H_3$ также выполняется $A_1=1,A_2=2,A_3=1,A_4=2$.
  • Последовательность $1,1,2,3$. Например, при $H_4>H_3>H_1>H_2$ выполняется $A_1=1,A_2=1,A_3=2,A_4=3$.
  • Последовательность $1,1,2,1$. Например, при $H_3>H_1>H_2>H_4$ выполняется $A_1=1,A_2=1,A_3=2,A_4=1$.
  • Последовательность $1,1,2,2$. Например, при $H_3>H_4>H_1>H_2$ выполняется $A_1=1,A_2=1,A_3=2,A_4=2$.
  • Последовательность $1,1,1,2$. Например, при $H_4>H_1>H_2>H_3$ выполняется $A_1=1,A_2=1,A_3=1,A_4=2$.

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

8
1
1
2
1
2
3
1

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

15

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.